2011-10-12 2 views

ответ

2
bool isValid = Regex.IsMatch("YourInput", @"^\d{8}$"); 
+0

Вам нужно избегать \ – xanatos

+0

@xanatos, спасибо. Извините. – Amry

1

^[0-9] {8} $

Простой и чистый. Вы устанавливаете допустимый диапазон значений внутри ['s, и количество обращений внутри {. ^ и $, чтобы указать начало и конец строки, чтобы убедиться, что вы не соответствуете разделам строк, содержащим 8 чисел, как говорит Xanatos.

+0

Возможно, было бы лучше положить a и a в начале и в конце. В зависимости от того, как он проверит, пройдет x1245678. – xanatos

+0

Хорошая точка. Ред. – Nicolai

2

Является ли это так трудно написать это регулярное выражение? 3 человека ответили тремя способами, которые частично ошибочны. Это ясно показывает, почему регулярные выражения никогда не должны использоваться! Потому что вы можете думаете вы знаете, как они работают, а затем они укусят ваш ^a([a-z])\1$ (это шутка для людей, которые знают регулярные выражения :-)).

Регулярное выражение - ^[0-9]{8}$. Вы anchor регулярное выражение с ^ и $ в начале и в конце строки. Вы не используете fancy \d, потому что .NET Regex считает, что он соответствует 09E6 0 BENGALI DIGIT ZERO (не европейские цифры), если вы не активируете его режим ECMA (RegexOptions.ECMAScript). Javascript с \d означает только 0-9 цифр. И если вы действительно хотите использовать \d, не забудьте оставить \ или поставить стенографический строковый символ перед строкой (@"something")

+0

+1 для уточнения разницы между '\ d' и' [0-9] '. – ridgerunner

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