Javascript регулярное выражение, чтобы принимать только буквы, пробелы и - - PullRequest
12 голосов
/ 10 сентября 2011

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

Я уже пробовал: /^[A-Za-z _]*[A-Za-z][A-Za-z _]*$/, но он не может принять ñ.

Ответы [ 3 ]

16 голосов
/ 10 сентября 2011
/^[ñA-Za-z _]*[ñA-Za-z][ñA-Za-z _]*$/

и

/^[\u00F1A-Za-z _]*[\u00F1A-Za-z][\u00F1A-Za-z _]*$/

должно работать.

Регулярное выражение Javascript поддерживает \u0000 - \uFFFF.

4 голосов
/ 10 сентября 2011

Если вы просто хотите этот символ, вставьте его в регулярное выражение, например [A-Za-zÑñ ].В противном случае используйте библиотеку регулярных выражений Unicode для Javascript, например http://xregexp.com/. К сожалению, регулярные выражения JS не поддерживают классы символов, совместимые с Unicode (например, \p{L} в регулярных выражениях C #)

1 голос
/ 10 сентября 2011

Вам нужно использовать класс символов.

/[A-Za-z ñ]+/
...