我在一些网站上找到了这个代码,它工作得很完美。它验证电话号码是以下格式之一: (123) 456-7890或123-456-7890
问题是我的客户端(我不知道为什么,可能是客户端)想要添加另一种格式,连续的十个数字,像这样:1234567890。
我用这个正则表达式,
/^(\()?\d{3}(\))?(-|\s)?\d{3}(-|\s)\d{4}$/
我如何添加它也验证另一种格式?我不擅长使用正则表达式。
我在一些网站上找到了这个代码,它工作得很完美。它验证电话号码是以下格式之一: (123) 456-7890或123-456-7890
问题是我的客户端(我不知道为什么,可能是客户端)想要添加另一种格式,连续的十个数字,像这样:1234567890。
我用这个正则表达式,
/^(\()?\d{3}(\))?(-|\s)?\d{3}(-|\s)\d{4}$/
我如何添加它也验证另一种格式?我不擅长使用正则表达式。
当前回答
阿根廷数据的RegExp: / ^((+[0 - 9]{1,3})) ?(([0 - 9]{8、13})|([0 - 9]{3、6})——([0 - 9]{4 7}))/美元
Valids:
X: from 8 to 13 numbersXXXXXXXX
separate numbers by a hyphen = X from 3 to 6; Y: from 4 to 7XXXX-YYYY
Z: from 1 to 3(+ Z) XXXXXXXX
if you use Z then (+ ) is mandatory.其他回答
这是可行的:
/^(()?\d{3}())?(-|\s)?\d{3}(-|\s)?\d{4}$/
的吗?字符表示前一组匹配0次或1次。组(-|\s)将匹配-或|字符。添加?在正则表达式中第二次出现此组后,允许您匹配10个连续数字的序列。
验证电话号码+返回格式化数据
函数有效电话(str){ str = str.replace(/[^0-9]/g, ''); var l = 尺寸长度; if(l<10) 返回 ['错误', '电话号码长度< 10']; var tel = '', num = str.substr(-7), 代码 = str.substr(-10, 3), coCode = ''; if(l>10) { coCode = '+' + str.substr(0, (l-10) ); } tel = coCode +' ('+ code +') '+ num; 返回 [“成功”,电话]; } console.log(validTel('+1 [223] 123.45.67'));
如果你想找10个数字,那就忽略除数字-以外的所有数字
return value.match(/\d/g).length===10;
下面的REGEX将验证这些格式中的任何一个:
(123) 456-7890 The 123-456-7890 123.456.7890 1234567890
/^[(]{0,1}[0-9]{3}[)]{0,1}[-\s\.]{0,1}[0-9]{3}[-\s\.]{0,1}[0-9]{4}$/
只是想添加一个解决方案,专门选择非本地电话号码(800和900类型)。
(\+?1[-.(\s]?|\()?(900|8(0|4|5|6|7|8)\3+)[)\s]?[-.\s]?\d{3}[-.\s]?\d{4}