我有一个信用卡号码,我需要检查它是否有数字从0到9,还有任何破折号。c#正则表达式0-9和破折号
我有以下几点:
Match match = Regex.Match(CardNumber, "[0-9-]");
if (match.Success)
{
}
它的工作原理,但想知道如果我错过了什么,可能无法使其发挥作用。
感谢
我有一个信用卡号码,我需要检查它是否有数字从0到9,还有任何破折号。c#正则表达式0-9和破折号
我有以下几点:
Match match = Regex.Match(CardNumber, "[0-9-]");
if (match.Success)
{
}
它的工作原理,但想知道如果我错过了什么,可能无法使其发挥作用。
感谢
现在,只检查是否至少有一个数字或破折号串CardNumber
里面,所以它的字符串"hello0!"
返回True
。
如果你想验证字符串,所以它只有由数字和破折号,则需要使用
Match match = Regex.Match(CardNumber, @"^[0-9-]*$");
由于小记什么@Tim写道,他的正则表达式匹配-12--34-
。可能你想要的是:
^([0-9]+-)*[0-9]+$
这将需要至少一个数字。如果你想空字符串匹配,使用(一个或多个数字0以上的“团体”加一个-
和数字的最后“集团”)
^([0-9]+-)*[0-9]*$
您应详细说明一点上也许你的要求。这个问题现在非常模糊...... – 2012-03-08 15:35:00