我在一些网站上找到了这个代码,它工作得很完美。它验证电话号码是以下格式之一: (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}$/
我如何添加它也验证另一种格式?我不擅长使用正则表达式。
当前回答
/ s ^ + 1 ? \ * d {3 \ (? ? }(?:\)|[-|\ s]) \ s * ? [d {3} - | \ s] ?\ d{4} -美元
这篇文章虽然老了,但还是想留下我的一点贡献。 这些是可以接受的: 5555555555 555-555-5555 (555) 555 - 5555 1 (555) 555 - 5555 1 555 555 5555 1 555-555-5555 1 (555) 555-5555
这些是不被接受的:
555 - 5555 >接受这个用:^ \ + ? 1 ? \ s * ? \ (? (\ d {3 })?(?:\)|[-|\ s]) ? \ s * ? \ d {3} (- | \ s) ?\ d {4} $
5555555 - - - >接受这个用:^ \ + ? 1 ? \ s * ? \ (? (\ d {3 })?(?:\)|[-|\ s]) ? \ s * ? \ d {3} (- | \ s) ?\ d {4} $
1 555) 555 - 5555 123 * * & ! !asdf # 55555555 (6505552368) 2 (757) 622-7382 0 (757) 622-7382 -1 (757) 622-7382 2 757 622-7382 10 (757) 622-7382 27576227382 (275) 76227382 2 (757) 6227382 2 (757) 622 - 7382 (555) 5 (55) -5555
这是我使用的代码:
function telephoneCheck(str) {
var patt = new RegExp(/^\+?1?\s*?\(?\d{3}(?:\)|[-|\s])?\s*?\d{3}[-|\s]?\d{4}$/);
return patt.test(str);
}
telephoneCheck("+1 555-555-5555");
其他回答
我要做的是忽略格式并验证数字内容:
var originalPhoneNumber = "415-555-1212";
function isValid(p) {
var phoneRe = /^[2-9]\d{2}[2-9]\d{2}\d{4}$/;
var digits = p.replace(/\D/g, "");
return phoneRe.test(digits);
}
只是想添加一个解决方案,专门选择非本地电话号码(800和900类型)。
(\+?1[-.(\s]?|\()?(900|8(0|4|5|6|7|8)\3+)[)\s]?[-.\s]?\d{3}[-.\s]?\d{4}
一个很简单的方法:
"9001234567".match(/^\d{10}$/g)
我使用了@marty提供的一个,并对它进行了一些修改,以适应更多的情况:
/^[\+]?([0-9][\s]?|[0-9]?)([(][0-9]{3}[)][\s]?|[0-9]{3}[-\s\.]?)[0-9]{3}[-\s\.]?[0-9]{4,6}$/im
有效的格式:
+1 123 4567890 + 11234567890 + 1 (123)4567890 + 1 (123)456-7890 +1 (123) 456-7890 +1 (123)456 7890 +1 123 456-7890 +1 123 456 7890 +1 123-456-7890 The 123-456-7890 123 456-7890 123 456 7890 123 4567890 1234567890
/^[+]*[(]{0,1}[0-9]{1,3}[)]{0,1}[-\s\./0-9]*$/g
(123) 456-7890 +(123) 456-7890 + (123) 456-7890 +(123) -456-7890 +(123) -456-78-90 The 123-456-7890 123.456.7890 1234567890 + 31636363634 075-63546725
这是一个非常松散的选项,我更喜欢保持这种方式,大多数情况下,我在注册表单中使用它,用户需要添加他们的电话号码。 通常用户对强制执行严格格式规则的表单有麻烦,我更喜欢用户在显示或保存到数据库之前填写数字和格式。 http://regexr.com/3c53v