Регулярное выражение для сопоставления только букв, пробелов и неанглийских символов? - PullRequest
0 голосов
/ 24 апреля 2019

Я пытаюсь проверить текст с помощью регулярного выражения, и мне нужно проверить, содержит ли он только буквы, пробелы, а также не английские символы.

У меня есть этот:

var check = /^[a-zA-Z_0-9][a-zA-Z_0-9\s]*$/g.test(input.value);

Работает нормально, но если input.value содержит "ã" или "é", то выдает false.

Я гуглил и обнаружил, что вы можете использовать фильтр Юникода, например:

/\p{L}/u

Я пытался объединить, но безрезультатно.

Как я могу решить эту проблему?

Спасибо всем.

1 Ответ

1 голос
/ 24 апреля 2019

Следующее будет включать расширенные латинские символы:

var check = /^[a-zA-Z_0-9\u00C0-\u017F][a-zA-Z_0-9\u00C0-\u017F\s]*$/g.test(input.value);

См. https://en.wikipedia.org/wiki/Latin_script_in_Unicode для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...