регулярное выражение с jquery и акцентированными символами - PullRequest
3 голосов
/ 27 июня 2011

Я ищу регулярное выражение для проверки ввода: во Франции мы можем использовать акцентированные символы в имени, и я не могу найти ничего, что я мог бы использовать.пожалуйста, не могли бы вы помочь мне найти, как сделать регулярное выражение для: - любой буквы - любой буквы с акцентом - пробелов - и знака «-» (без кавычек)

я пробовал что-то подобное, но этопохоже, не работает .. var regealpha = / [^ A-Za-z0-9ААААААААААаааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааенностиенности ненности »('

спасибо) (извините за мой плохой английский)^)

Ответы [ 2 ]

4 голосов
/ 27 июня 2011

В JavaScript нет хороших вариантов интернационализации. Символ \ w даст вам все [A-Za-z0-9_], но вам нужно будет указать свои собственные символы в дополнение к этому.

Вы, кажется, довольно близко. Следующее регулярное выражение должно работать для вас:

/[\wÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ]/g

Посмотрите, как работает этот jsfiddle:

http://jsfiddle.net/jameswiseman/3H2mJ/1/

Вы увидите, что регулярное выражение заменяет все во входной строке "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ" на 'z'.

EDIT

Я думаю, это то, что вам нужно:

/[^a-zA-ZÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ]/

Он сообщит вам, есть ли символы НЕ в указанном выше наборе. Так

var myRegex = /[^a-zA-ZÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ]/;
"C3P0".test(myRegex ); //returns true --> Report Error!
"kangun".test(myRegex ); //returns false --> OK :-)
"kàngun".test(myRegex ); //returns false --> OK :-)

Также взгляните на этот JSFiddle

Я знаю, что это долго, но если это то, что нужно, тогда вы должны использовать это.

1 голос
/ 27 июня 2011

Может быть, вы хотите использовать \p{L} (, как описано здесь ), что соответствует букве Unicode.

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