正则表达式逗号分隔电话号码

时间:2015-09-24 10:58:58

标签: javascript jquery regex

我正在尝试生成一个匹配以下序列的正则表达式 -

^\+?\d{1,4}?[-.\s]?\(?\d{1,3}?\)?[-.\s]?\d{1,4}[-.\s]?\d{1,4}[-.\s]?\d{1,9},\+?\d{1,4}?[-.\s]?\(?\d{1,3}?\)?[-.\s]?\d{1,4}[-.\s]?\d{1,4}[-.\s]?\d{1,9}$ 等等,电话号码没有限制。

基本上用于验证用户可以添加的电话号码,电话号码可以是多个,需要用逗号分隔,我已经删除了用户可能添加的空白区域,所以不用担心。

我对正则表达式并不擅长并创建了以下正则表达式,但它与前面的电话号码不匹配,意味着整个电话号码串都不匹配 -

ProjectExtensions

我需要使用javascript或jquery验证用户输入。

有效的电话号码应该是国家代码,如+ 91或+21等国家代码可以是一位或两位数,那么位数需要是7到9。

我有人可以提供帮助,非常值得注意的是,我花了很多时间在这个上。

2 个答案:

答案 0 :(得分:3)

要验证整个字符串处理由逗号分隔的多个值,只需添加一个带* multiplier的组:

^\+\d{8,11}(,\+\d{8,11})*$

答案 1 :(得分:0)

如果我正确理解了这些要求,则以下正则表达式应该可以正常工作

\+\d{9,11}

但是,您可以将国家/地区代码分开,如果您需要允许(+44)xxxxxxxxx

\+\d{2}\d{7,9}

如果要求也允许1个国家/地区代码,请将正则表达式调整为以下

 \+\d{1,2}\d{7,10} //I think to 10, not sure on their numbers

您可以根据需要更新范围:)

演示:https://regex101.com/r/rJ4wM7/1