【发布时间】:2013-11-16 08:19:28
【问题描述】:
我正在创建 asp.net regex validator,它应该使用国家代码验证手机号码。
号码可以是:+41 44 221 21 20 或 0041 44 221 21 20 或相同,但不带空格。
我尝试了一些方法,但它不起作用:
\+(9[976]\d|8[987530]\d|6[987]\d|5[90]\d|42\d|3[875]\d|
2[98654321]\d|9[8543210]|8[6421]|6[6543210]|5[87654321]|
4[987654310]|3[9643210]|2[70]|7|1)
\W*\d\W*\d\W*\d\W*\d\W*\d\W*\d\W*\d\W*\d\W*(\d{1,2})$
如何为这个验证制作正则表达式?
【问题讨论】:
-
我不会为此使用(单个)正则表达式。不同的有效电话号码的数量相当......荒谬。无论如何,如果我想验证一个国家代码是否有效,我会提取第一个数字(例如,作为一个简单的 \d),然后将其与 a list of valid codes 进行比较。然后,之后,可能应用许多启发式方法之一来确定数字的其余部分是否“可能有效”.. 或者只是说,“所有数字、破折号或空格 = 好的” .
-
@user2864740 应该作为答案发布,我相信。
标签: javascript asp.net regex validation