我发现这个javascript正则表达式可以验证可以写入美国电话号码的不同格式。但它有问题:它无法匹配该组中的第二条规则:
第一组三位数,称为区号以数字开头 2-9,然后是0-8,然后是任何第三位。
它接受9而它应该只接受来自(0-8)的数字。这个正则表达式显示了所有内容:http://regexr.com/3ackc
/^(1[- .]?)?(\([2-9]\d{2}\)[. -]?|[2-9]\d{2}[. -]?)[2-9]\d{2}[- .]?\d{4}$/gm
答案 0 :(得分:0)
我不完全了解美国电话号码的符号和确切限制,所以我提到了Wikipedia并想出了这个:
/^[2-9][0-8]\d\-?[2-9]([02-9]{2}|[02-9]\d||\d[02-9])\-?\d{4}$/g