我有以下有效的正则表达式来提取大量不同格式的电话号码。
看这里:http://jsfiddle.net/SB5Ly/4/
var regex = new RegExp(
"\\+?\\(?\\d*\\)? ?\\(?\\d+\\)?\\d*([\\s./-]?\\d{2,})+",
"g"
);
....
(如果脚本未加载,请按顶部菜单中的“运行”按钮)
正如您在示例中看到的(通过链接),最后 2-3 个电话号码格式 (varphoneNumbers) 与使用的正则表达式不匹配。
您可以测试正则表达式,在脚本中修改它并运行它。
所以我需要一个匹配所有枚举电话号码格式的正则表达式(从整个网页(document.body.innerHTML)中提取它们)。
我不知道你想要多么规范,但这符合你所有的例子:
var regex = new RegExp("\\+?\\(?\\d*\\)? ?\\(?\\d+\\)?\\d*([\\s./-]?\\d{2,})+", "g");
See a 现场演示这个正则表达式。
正则表达式的一个小错误:当想要在字符类中包含文字破折号时,要么将其转义,要么将其放在第一个或最后一个。
You had [\\s-.]
,这是不正确的。应该是[\\s.-]
, [-\\s.]
or [\\s\\-.]
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)