Regex,逗号分隔电话号码

Regex Comma Separated Phone Number

本文关键字:分隔 电话号码 Regex      更新时间:2023-09-26

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

+91123456789,+41123456789,+21123456789....等,电话号码没有限制。

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

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

^'+?'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}$

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

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

如果有人能帮忙,那将是非常感激的,我在这个上面花了很多时间。

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

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

如果我正确理解了需求,下面的正则表达式应该可以工作

'+'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