[英]javascript regex to allow numbers and special characters but not zeroes only
我需要一个javascript正则表达式来验证电话号码的数字。 数字不能是单个零或仅为零。
例如
0
000
00000-000-(000)
这些是不允许的。
但这些是允许的:
01-0808-000
10(123)(1234)
11111
到目前为止我的javascript正则表达式是:
/^[!0]*[0-9-\)\(]+$/
但这似乎不起作用。
规则是电话号码可以包含数字和-
和(
和)
。 它可以以0开头,但电话号码不能是单个0或只有上述字符的零个数。
你能指出我正确的方向吗? 提前致谢。
可以试试这个:
/[0-9-()]*[1-9][0-9-()]*/
将匹配任意数量的允许字符和数字,但如果没有1-9,则中间部分将无法匹配。
/[0-9-()]*[1-9][0-9-()]*/
这个:
(?=^[0-9-)(]+$)(?=.*[1-9].*)
IMO你应该做这样的事情:
var str = "10(123)(1234)";
var res = str.replace(/[^\d]/g, '');
var fres = /^0+$/.test(res);
if(fres)
console.log("Not a valid phone number");
else
console.log("valid phone number");
这将根据零的内容告诉您电话号码是否有效。 如果存在全零且没有其他数字,则返回true
否则返回false
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.