我在一些网站上找到了这个代码,它工作得很完美。它验证电话号码是以下格式之一: (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}$/
我如何添加它也验证另一种格式?我不擅长使用正则表达式。
当前回答
- ^ (() \ d {3} (?) (s - | \) ? d {3} (- | \ s) ?\ d{4} -美元
的吗?字符表示前一组匹配0次或1次。组(-|\s)将匹配-或|字符。
其他回答
这是可行的:
/^(()?\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'));
我不得不承认,核实电话号码是一项艰巨的任务。 至于这个具体的问题,我会改变正则表达式从
/^(()?\d{3}())?(-|\s)?\d{3}(-|\s)\d{4}$/
to
/^(()?\d{3}())?(-|\s)?\d{3}(-|\s)?\d{4}$/
因为唯一多余的元素是最后的破折号/空格。
简单的正则表达式:/ \ b \ d {3} [-] ? \ d{3}[-]吗?\ d {4} \ b / g
看看这个格式,希望它有用: 444-555-1234 f: 246.555.8888 m: 1235554567
\\(?\d{3}\\)?([\-\s\.])?\d{3}\1?\d{4}
这将验证任何可变格式的电话号码:
\ \ (? \ d {3} \ \) ?找到3个被括号括起来的数字。
(\ [\ s \]) ?是否找到这些分隔符
\d{3}找到3个数字
\1使用第一个匹配的分隔符-这确保分隔符是相同的。因此(000)999-5555在这里将不生效,因为有空格和破折号分隔符,所以只需删除“\1”并替换为分隔符子模式(这样做也将验证非标准格式)。无论如何,您都应该为用户输入提供格式提示。
\d{4}找到4个数字
验证:
(000) 999 5555 (000) 999-5555 (000). 999.5555 (000) 999-5555 (000)9995555 000 999 5555 The 000-999-5555 000.999.5555 0009995555
顺便说一句,这是JavaScript的双重转义。