正则表达式以匹配 2 位数字(用于验证信用卡/借记卡发行编号)



我想使用正则表达式来匹配正好 2 个字符的字符串,这两个字符都必须介于 0 和 9 之间。呈现 ASP.NET MVC 视图时,要匹配的字符串将来自单行文本输入字段

到目前为止,我有正则表达式

[0-9]{2}

以及以下示例字符串输入列表

  • 456
  • 55 44
  • 12

当我应用正则表达式时返回以下匹配项

  • 45
  • 55
    44
  • 12

所以,我有一半的解决方案....我实际上想要强制执行的是字符串也正好是 2 个字符长,因此从字符串列表中,唯一应该匹配的是

12

我是正则表达式的公认业余爱好者,只是用它来验证 ASP.NET MVC 模型上的卡发行号,如下所示......

[Required]
[RegularExpression("[0-9]{2}")]
public string IssueNumber { get; set; }

我确定我问的很简单,但我找不到任何限制长度作为匹配一部分的示例。

谢谢,提前。

您可以使用线指标的开始 ( ^ ) 和结束 ( $ ):

^[0-9]{2}$

某些语言还具有允许您匹配整个字符串的函数,就像您使用find函数一样。匹配整个字符串将使您的正则表达式作为上述的替代方案。上面的正则表达式也可以工作,但^$将是多余的。

需要使用锚点来匹配字符串^的开头和字符串的结尾$

^[0-9]{2}$

这样的东西会起作用

/^d{2}$/

最新更新