#javascript #regex
#javascript #регулярное выражение
Вопрос:
У меня есть поле отображаемого имени, которое я должен проверить с помощью регулярного выражения JavaScript. Мы должны сопоставить символы всех языков, таких как китайский, немецкий, испанский, в дополнение к символам английского языка, за исключением специальных символов, таких как * (). Я поражен тем, как сопоставить эти нелатинские символы. Приветствуется любая помощь.
Ответ №1:
Если ваш движок регулярных выражений может соответствовать категориям Unicode, регулярное выражение p{L}
соответствует любой букве на любом языке. JavaScript не поддерживает категории Unicode. Если вы используете XRegExp с плагином Unicode, то вы можете сделать это следующим образом в JavaScript:
XRegExp('^\p{L} $').test($input)
Это вернет true, если $input состоит из одной или нескольких букв и ничего больше.
Ответ №2:
К сожалению, в javascript нет большой поддержки unicode для регулярных выражений unicode
Комментарии:
1. поэтому я бы использовал ajax (в случае, если javascript включен) .. или простую проверку на стороне сервера
Ответ №3:
Я использовал биты XRegExp для такого рода вещей, и до сих пор это работало так, как ожидалось. Здесь есть плагины Unicode: http://xregexp.com/plugins /