【发布时间】:2015-12-21 22:56:17
【问题描述】:
我正在尝试生成一个匹配以下序列的正则表达式-
+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。
任何人都可以提供帮助,这将是非常可观的,我花了很多时间在这个上。
【问题讨论】:
-
我发现 www.regex101.com 是一个很好的资源。您没有在问题中指定您认为有效的电话号码是什么,什么是有效号码?
-
为什么不直接
\+\d{11}/g? -
@jack,你说得对,我一直在 regex101.com 上测试指定的正则表达式,我正在添加有问题的有效电话号码的格式。谢谢
-
也许拆分
,并单独检查每个,这样您就可以轻松地告诉用户需要更正的具体问题。
标签: javascript jquery regex