Как использовать регулярное выражение, чтобы проверить, содержит ли строка немецкие символы в javascript?

Я веб-разработчик Java из Китая, и теперь я столкнулся с проблемой, чтобы определить, содержит ли строка специальные немецкие символы ßüöä в javascript.

Я использую jquery.validate.js, чтобы строка содержала только символы, цифры и подчеркивание, мое регулярное выражение /^[a-zA-Z_]+\w*$/i, теперь я хочу изменить свое регулярное выражение, чтобы оно позволяло содержать строку, содержащую специальные немецкие символы ßüöä, может кто-нибудь, как изменить регулярное выражение, чтобы заархивировать мою цель?

Заранее спасибо!


person lucumt    schedule 06.05.2014    source источник
comment
/^[a-zA-Z_ßüöä]+[ßüöä\w]*$/i не сработало? Вы хотите добавить только эти символы или каждую букву из каждого языка?   -  person Robin    schedule 06.05.2014
comment
Ваше регулярное выражение катастрофическое. Опустите это +.   -  person Bergi    schedule 06.05.2014
comment
Почему только те? Как насчет символов с акцентом?   -  person Bergi    schedule 06.05.2014
comment
@flyFox, что вы хотите, чтобы это регулярное выражение делало? ваш \w эквивалентен [a-zA-Z0-9] вы хотите сопоставить все после числа? если это так, вы должны сделать что-то вроде: /[a-zA-Z_]+\d\w*$, поскольку я думаю, что это останавливает ваше регулярное выражение от катастрофы. Хотя я не уверен.   -  person Mike H-R    schedule 06.05.2014


Ответы (1)


Теперь я хочу изменить свое регулярное выражение, чтобы оно позволяло содержать строку, содержащую специальные немецкие символы ßüöä.

Просто включите эти символы в класс символов.

/^[a-zßüÜöÖäÄ_][\wßüÜöÖäÄ]*$/i

Это выражение соответствует одной букве (включая немецкий язык) или знаку подчеркивания, за которым следует любое количество букв (включая немецкий язык), цифр или знаков подчеркивания.

Обратите внимание, что это не включает пробелы или дефисы. Не стесняйтесь включать их также:

/^[a-zßüÜöÖäÄ_][-\wßüÜöÖäÄ ]*$/i

демонстрация ideone

person Mariano    schedule 21.10.2015