在ASP.net中正则表达式

时间:2011-07-06 14:59:31

标签: asp.net regex

我为电话号码写了正则表达式为^ [0] \ d {9,10}(电话号码应该以0开头)。这很好。

但是我想省略重复0的选项。即0000000000

如何将此位添加到其中。

2 个答案:

答案 0 :(得分:2)

^0(?!0*$)\d{9,10}$

可能就是你想要的。

第一个数字是0

(?!0*$)负向前瞻确保字符串的其余部分不是全零。

最后\d{9,10}匹配任何9或10位数字。

答案 1 :(得分:1)

您可以将[1-9]指定为第二位而不是\d,如下所示:

^[0][1-9]\d{8,9}$

(我认为其余数字仍然可以为零)

我注意到您的电话号码格式相当有限。例如,它不允许使用国际号码(以加号开头),也不允许使用括号空格或连字符等常见格式字符。它还假设所有电话号码都是10或11位数,这在英国和其他国家(大多数情况下)是正确的,但可能并非总是如此。

根据系统要求,您可能需要进行调整以考虑其中的一些要点。