2013-10-04 3 views
-2

Мне нужно проверить значение текстового поля. Значение выражения проверки для следующих двух условий:Выражения валидации

  • первой части строки, только четыре буквы
  • следующей часть строки, только шесть цифр,
  • следующей часть строки, только 0 или 2 или 3 буквы или цифры.

Я использую следующие выражения для проверки первого и второго валидаций:

ValidationExpression="[A-Z]{4}[0-9]{6}" 

но для последней проверки попробуйте следующее выражение проверки:

ValidationExpression="[A-Z]{4}[0-9]{6}[0-9 A-Z]{0-3}" 

Но не работает. Может ли кто-нибудь помочь?

+5

'но не работает'. Знаменитые последние слова. – gunr2171

+1

Что означает «не работает»? И вы намеревались иметь пространство в последней части этого выражения? То есть у вас есть [0-9 A-Z] '. Вы имели в виду '[0-9A-Z]'? Наконец, я думаю, что ваша основная проблема заключается в том, что '{0-3}' должно быть '{0,3}'. Вы сказали: «всего 0 или 2 или 3 буквы или цифры». Таким образом, 1 буква/номер недействительна? –

ответ

1
ValidationExpression="[A-Z]{4}[0-9]{6}([0-9A-Z]{2,3})?" 
+0

По какой-то причине он сказал, что окончательное выражение было длиной 0, 2 или 3 не 0-3 –

0

Вы упомянули «буквы», но в коде вы использовали вместо него все прописные (столичные) буквы. Если вы хотите принять заглавные буквы только для частей письма, то ответ симонвейгера правильный.

Однако, чтобы строчные буквы, а также:

ValidationExpression="[A-Za-z]{4}[0-9]{6}([0-9A-Za-z]{2,3})?" 

И объяснить немного: ? позволяет выражение в скобках для проверки ноль или один раз, а это означает, что он либо имеет 2 или 3 или у него вообще нет (0 букв/цифр).

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