【发布时间】:2021-10-27 14:45:14
【问题描述】:
电话号码可能有:
- 一个起始
"1"是可选的 - 然后是
"Space",这是可选的 - 然后是
"(",这是可选的 - 然后是 3 位数,然后是
")"然后 -
"space"或"No space"或"-" - 再次
"(",这是可选的 - 然后是 3 位数字,然后是
")" - 然后空格或无空格或
"-"和 - 然后是
"(",这是可选的 - 然后是 3 位数字
例如:5555555555 或 555 555 5555 或 555-555-5555 或 (555)-(555)-5555
例如:1 555 555 5555 或 1555 555 5555 或 1555-555-5555 或 1-555-555-5555 或 1 (555) (555) 5555
/^([1]{0,1})\s?\(?\d{3}\)?[-\s]?\d{3}[-\s]?\d{4}$/
上述正则表达式在上述所有方面都可以正常工作,但在以下示例中失败,这意味着 如果我只使用了左括号而没有右括号,那么我找不到它还返回true,这不应该!请帮忙
例如:1 (555-555-5555
例如:555) 555 5555
【问题讨论】:
-
如果你解释一下why you want to do this,那真的很有帮助。让用户输入他们想要的电话号码有什么问题?您如何处理 +44 1865 270000 等国际电话号码?
标签: javascript asp.net .net regex