【发布时间】:2015-07-08 10:13:15
【问题描述】:
我在 freecodecamp 上做一个练习来验证我们的电话号码。
用户可以选择任何方式填写表单字段,只要它是一个有效的美国号码。以下是美国号码的所有有效格式:
555-555-5555、(555)555-5555、(555) 555-5555、555 555 5555、5555555555、1 555 555 5555
我正在使用 RegEx 测试输入。我在 regex101 上键入这些表达式
(([1]\s)?(\()*(\d{3})(-|\)|\)\s|\s)*(\d{3})(-|\s)*\d{4})
像这样测试输入:
2 ** (757) 622-7382** 返回真
-1 (757) 622-7382 返回真
10 ** (757) 622-7382** 返回真
我如何测试前导 2、减号和 10。
【问题讨论】:
-
我不确定我是否理解。如果要确保该字段仅包含电话号码而不包含其他任何内容,则应以
^(匹配字符串的开头)开始正则表达式,并以$(匹配字符串的结尾)结束它。然后所有三个示例都将返回 true,因为它们的有效电话号码前面有一些内容。 -
谢谢@Anders 我明白了
标签: javascript regex validation