手机号码的正则表达式?

时间:2012-02-27 15:08:45

标签: regex regex-negation

我想在java脚本中使用正则表达式进行手机号码验证,可能是10位到20位并用逗号分隔

离; 用户可以单独输入10位数的电话号码(1234567890)或输入10到20位数的电话号码(1234567890123465),两个数字用逗号分隔(1234567890,123456789043543,1234567890345),但如果他输入一个数字,它应该是是10位到20位数,它可能以'+ 91'或'0'开头  提前致谢

1 个答案:

答案 0 :(得分:0)

这个正则表达式应该可行。

/^(\+91\d{8,18}|0\d{0,19})(,\+91\d{8,18}|,0\d{0,19})*$/g

\+91\d{8,18}表示以+91开头,之后可以有更多的8-18位数字。由于开头已有2位数字(91),因此总数字将为10-20。

0 \ d {0,19}也有同样的含义。

如果你想匹配123456789043543,1234567890345之类的字符串,这些字符串不以+910开头,那么简单/^+\d{10-20}(,\d{10-20})*$/g就可以了。