Проверка имен UTF-8 в JavaScript (Node.js) с помощью XRegExp

Я пытаюсь проверить, состоит ли данная строка UTF-8 только из букв.
Я попробовал решение, которое нашел здесь: Проверка имени пользователя UTF-8 в Javascript

Данная строка: Ciesiołkiewicz
проверено с var XRegExp = require('xregexp').XRegExp('^\\p{L}+$');

И это не работает из-за буквы ł
Я старался XRegExp('^[\\p{Latin}\\p{Common}]+$');
но это слишком много, он принимает польские буквы, а также такие символы, как "$" и т. д.

Как я могу проверить это только по письмам? Я не хочу вводить их в регулярное выражение вручную.

2 ответа

Решение
var XRegExp = require('xregexp').XRegExp;
var re = new XRegExp('^\\p{L}+$');

console.log(re.test('Ciesiołkiewicz'));
console.log(re.test('1Ciesiołkiewicz2'));
console.log(re.test('привет'));
console.log(re.test('пр1вет'));

> true
> false
> true
> false

работает отлично.

Как насчет диапазона символов, таких как [aZ]? это то, что я обычно использую, если я ищу только письма

Другие вопросы по тегам