2010-04-12 3 views
1

как я могу написать регулярное выражение для проверки имени поля в многоязычном веб-приложении, я хочу проверить поле имени для неанглийских языков, например. Испанский или немецкий, и мы должны убедиться, что никто не вводит цифры или специальные символы. Я использую .NET 2.0Регулярное выражение для проверки имени в многоязычном веб-приложении .NET

Я считаю, что мы не можем использовать выражение, как показано ниже, для неанглийского языка.

^[a-zA-Z]{1,20}$ 

Любая помощь будет высоко оценена!

Я получил это регулярное выражение, оно работает Фиен, когда я использую Regex Builder, но когда я пытаюсь его в реальной веб-приложениях это не удается:

^\p{L}[\p{L}\p{Pd}\x27]*\p{L}$ 
+1

Что случилось? Ç соответствует? – kennytm

+2

Короткий ответ: Не надо. Есть кто-то на планете с прозвищем «Автобус № 16», и вы будете блокировать их с вашего сайта! Источник: http://news.bbc.co.uk/1/hi/7522952.stm. Таким образом, вы бы наложили какое-то произвольное ограничение на домен, который не соответствует реальным ограничениям в реальном мире. Зачем вам все равно проверять это? –

+0

@Martin: Это очень проницательно! Спасибо, что поделились ссылкой, я был против этого, но теперь у меня есть ссылка: D –

ответ

5

использование \w для письма. он многоязычный

+0

Будет ли это позволять только алфавиты с пробелами, а не цифры и специальные кулачки ??? –

+0

Согласно http://msdn.microsoft.com/en-us/library/1400241x(VS.85).aspx \ w эквивалентно [A-Za-z0-9_], для J (ava) Script - который используется клиентской стороной посредством regexvalidator. –

+0

см. Заголовок «JScript Синтаксис регулярного выражения (скрипты)». это не .net, это jscript – Andrey

Смежные вопросы