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

时间:2013-09-20 17:34:59

标签: regex asp.net-mvc

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

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

[0-9]{2}

并从以下示例字符串输入列表

        
  • 456
  •     
  • 55 44
  •     
  • 12

我应用正则表达式

时会返回以下匹配项
        
  • 45
  •     
  • 55
    44
  •     
  • 12

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

12

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

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

我确信我所要求的内容非常简单,但我无法找到任何限制长度的示例作为匹配的一部分。

提前谢谢。

3 个答案:

答案 0 :(得分:44)

您可以使用行指示符的开头(^)和结束($):

^[0-9]{2}$

某些语言还具有允许您匹配整个字符串的功能,在此处使用find功能。匹配整个字符串将使您的正则表达式作为上述替代。上述正则表达式也可以使用,但^$将是多余的。

答案 1 :(得分:10)

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

^[0-9]{2}$

答案 2 :(得分:2)

这样的事情会起作用

$("#purchase_quantity").val(num)