任何人都可以帮我编写一个满足这些条件的正则表达式来验证国际电话号码:
- 必须以 +、00 或 011 开头。
- 唯一允许的字符是 [0-9]、-、.、空格、(,)
- 长度并不重要
所以这些测试应该通过:
- +1 703 335 65123
- 001 (703) 332-6261
- +1703.338.6512
这是我的尝试 ^\+?(\d|\s|\(|\)|\.|\-)+$ 但它无法正常工作。
最佳答案
要清理正则表达式,请使用方括号来定义字符的“OR”情况,而不是 |
。
下面是正则表达式的重写版本,与提供的描述相匹配。
/^(?:\+|00|011)[0-9 ().-]+$/
有什么用?:
?
当直接在括号内执行 ?:
时,它是为了告诉正则表达式引擎您想要对某些内容进行分组,但不存储信息以供以后使用。
关于javascript - 正则表达式验证国际电话号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8623543/