/ ^(00 | 0 | [+])([-] [0-9] | [0-9]){1,13} [0-9] /
可以通过将数字分为国家代码和电话号码来改进模式,但这并不重要。
感谢您的帮助
编辑:这是代码。这应该不是问题,因为其他正则表达式可以很好地工作。 oChanged是一个文本输入。
function verification(oChanged, regex){
var val = $(oChanged).val();
var reg = new RegExp(regex);
if( !reg.test(val) ){
if( !$(oChanged).hasClass('notvalid') ){
$(oChanged).addClass('notvalid');
}
}else{
if( $(oChanged).hasClass('notvalid') ){
$(oChanged).removeClass('notvalid');
}
}
}
我在互联网上用一些正则表达式测试器对其进行了测试,它与所有这些字符串都匹配,但是在实现时却不匹配。
它应该适用于例如004915773554660 +4915773554660 015773554660 0049157-7355-466-0
答案 0 :(得分:0)
请使用以下一项:
/(+ \ d {1,3} \ s?)?((((\ d {3})\ s?)|(\ d {3})(\ s |-?))(\ d {3}(\ s |-?))(\ d {4})(\ s?(([[E | e] xt [:|。|]?)| x | X)(\ s?\ d +) )?/ g
演示:https://www.regextester.com/103299
完整号码
+999(999)999-9999分机号99999
常规本地电话号码(XXX)XXX-XXXX
1231231231 123-1231231 123123-1231 123-123 1231 123 123-1231 123-123-1231 (123)123-1231 (123)123 1231 (123)123-1231 (123)123 1231
国际代码+ XXX(XXX)XXX-XXXX
+99 1234567890 +991234567890
扩展名(XXX)XXX-XXXX扩展名。 XXX ...
1234567890分机1123123 1234567890分机1123123 1234567890 Ext1123123 1234567890Ext1123123