4 回答
TA贡献1794条经验 获得超8个赞
更好的选择......只需在输入上删除所有非数字字符(除了'x'和前导'+'符号),因为英国倾向于在被+44 (0) ...要求使用国际前缀时以非标准形式写数字(在这种特定情况下,你应该(0)完全抛弃)。
然后,您最终得到如下值:
12345678901
12345678901x1234
345678901x1234
12344678901
12345678901
12345678901
12345678901
+4112345678
+441234567890
然后当您显示时,重新格式化您的心灵内容。例如
1 (234) 567-8901
1 (234) 567-8901 x1234
TA贡献1804条经验 获得超3个赞
事实证明,至少在北美,有一种称为NANP的规范。
您需要准确指定所需内容。什么是合法分隔符?空格,破折号和句号?不允许分隔符?可以混合分隔符(例如,+ 0.111-222.3333)吗?如何处理扩展(例如,111-222-3333 x 44444)?特殊号码怎么样,比如911?区号是可选的还是必需的?
这是一个7位或10位数的正则表达式,允许扩展,分隔符是空格,短划线或句点:
^(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:#|x\.?|ext\.?|extension)\s*(\d+))?$
TA贡献1911条经验 获得超7个赞
.*
如果用户想要给你他的电话号码,那么请相信他是正确的。如果他不想给你,然后强迫他输入一个有效的号码将把他送到竞争对手的网站或让他输入一个适合你的正则表达式的随机字符串。我甚至可能想要查看优质性别性别的数量,然后输入。
我还会将以下任何内容视为网站上的有效条目:
"123 456 7890 until 6pm, then 098 765 4321"
"123 456 7890 or try my mobile on 098 765 4321"
"ex-directory - mind your own business"
- 4 回答
- 0 关注
- 962 浏览
添加回答
举报