как сопоставить все языковые символы, такие как английский, греческий, китайский, кроме специальных символов - PullRequest
4 голосов
/ 29 апреля 2010

У меня есть поле отображаемого имени, которое мне нужно проверить с помощью регулярных выражений JavaScript. Мы должны сопоставить все символы языка, такие как китайский, немецкий, испанский, в дополнение к символам английского языка, кроме специальных символов, таких как * (). Я поражен тем, как сопоставить эти нелатинские символы. Любая помощь приветствуется.

Ответы [ 3 ]

2 голосов
/ 02 мая 2010

Если ваш движок регулярных выражений может соответствовать категориям Unicode, регулярное выражение \p{L} соответствует любой букве на любом языке. JavaScript не поддерживает Unicode-категории. Если вы используете XRegExp с плагином Unicode , то вы можете сделать это следующим образом в JavaScript:

XRegExp('^\\p{L}+$').test($input)

Это вернет true, если $ input состоит из одной или нескольких букв и ничего больше.

0 голосов
/ 29 апреля 2010

Я использовал биты XRegExp для такого рода вещей, и до сих пор это работало как ожидалось Здесь есть плагины Unicode: http://xregexp.com/plugins/

0 голосов
/ 29 апреля 2010

К сожалению, в javascript нет большой поддержки юникода для регулярных выражений юникода

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