Regex соответствует 2-значному номеру (для проверки номера кредитной/дебетовой карты)
Я хотел бы использовать регулярное выражение для соответствия строке ровно 2 символа, и оба этих символа должны находиться в пределах от 0 до 9. Строка, которая будет соответствовать, будет поступать из однострочного текстового поля ввода, когда ASP Представлено представление .NET MVC
До сих пор у меня есть регулярное выражение
[0-9]{2}
и из следующего списка примерных вводных строк
возвращаются следующие совпадения при применении регулярного выражения
Итак, у меня есть половина решения... то, что я на самом деле хочу обеспечить, состоит в том, что строка также имеет длину 2 символа, так что из списка строк единственное, что должно быть сопоставлено, это
12
Я принимаю любителя в регулярных выражениях и просто использую это для проверки номера проблемы с картой на модели ASP.NET MVC, как показано ниже.
[Required]
[RegularExpression("[0-9]{2}")]
public string IssueNumber { get; set; }
Я уверен, что то, что я прошу, довольно просто, но я не смог найти примеры, ограничивающие длину как часть соответствия.
Спасибо, заранее.
Ответы
Ответ 1
Вы можете использовать индикаторы начала (^
) и конца ($
):
^[0-9]{2}$
Некоторые языки также имеют функции, которые позволяют вам сопоставлять целую строку, где - когда вы использовали функцию find
. Соответствие всей строке приведет к тому, что ваше регулярное выражение будет работать как альтернатива вышеизложенному. Вышеупомянутое регулярное выражение также будет работать, но ^
и $
будут избыточными.
Ответ 2
Вам нужно использовать привязки для соответствия началу строки ^
, а конец строки $
^[0-9]{2}$
Ответ 3
Что-то вроде этого будет работать
/^\d{2}$/