我正在以具有此正则表达式/^[\d\s ().-]+$/
的电话号码的形式实施验证程序功能。
我想将其更改为接受开始+
,然后[0-9]
.
-
,
(
{{的所有组合1}}。
感谢您提供意见。
答案 0 :(得分:5)
因为你想从+
开始,你需要通过转义它来告诉引擎以+
开头,因为它有其他含义,
/^\+[\d\s ().-]+$/
答案只是简单回答你的问题,但它没有给你正确的结果,因为它会与+...,..()
匹配,我可以修改这个,如果你可以明确告诉我们你想要的可接受的模式,例如639151234567
答案 1 :(得分:4)
这很简单。别忘了逃避“+”。我假设“+”是可选的,因此使用?
量词。
/^\+?[0-9(),.-]+$/
答案 2 :(得分:0)
以下正则表达式可以匹配任何类型的数字,请记住,我假设+
是可选的。
但它不处理数字计算
^\+?(\d[\d-. ]+)?(\([\d-. ]+\))?[\d-. ]+\d$
以下是一些您可以匹配的有效数字:
+91293227214
+3 313 205 55100
99565433
011 (103) 132-5221
+1203.458.9102
+134-56287959
(211)123-4567
111-123-4567
答案 3 :(得分:0)
这是我能想到的最好的。我合并了其他答案中给出的许多正则表达式。
/^[+]?(1\-|1\s|1|\d{3}\-|\d{3}\s|\d{2}\-|\d{2}\s|)?((\(\d{3}\))|\d{3})(\-|\s)?(\d{3})
(\-|\s)?(\d{4})$/g
这应该支持所有组合
以此类推。