javascript正则表达式允许数字和特殊字符,但不允许仅使用零
我需要一个javascript正则表达式来验证电话号码。数字不能是单个零或仅为零 e、 g 这些是不允许的 但这些是允许的:javascript正则表达式允许数字和特殊字符,但不允许仅使用零,javascript,regex,Javascript,Regex,我需要一个javascript正则表达式来验证电话号码。数字不能是单个零或仅为零 e、 g 这些是不允许的 但这些是允许的: 01-0808-000 10(123)(1234) 11111 到目前为止,我拥有的javascript正则表达式是: /^[!0]*[0-9-\)\(]+$/ 但这似乎不起作用 规则是电话号码可以包含数字和-和(和)。它可以以0开头,但电话号码不能是单个0或仅包含或不包含上述字符的多个零 你能给我指一下正确的方向吗。 提前感谢。此正则表达式应该可以: ^(?=.
01-0808-000
10(123)(1234)
11111
到目前为止,我拥有的javascript正则表达式是:
/^[!0]*[0-9-\)\(]+$/
但这似乎不起作用
规则是电话号码可以包含数字和-
和(
和)
。它可以以0开头,但电话号码不能是单个0或仅包含或不包含上述字符的多个零
你能给我指一下正确的方向吗。
提前感谢。此正则表达式应该可以:
^(?=.*?[1-9])[0-9()-]+$
这个:
(?=^[0-9-)(]+$)(?=.*[1-9].*)
在我看来,你应该这样做:
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
elsefalse
可以尝试以下方法:
/[0-9-()]*[1-9][0-9-()]*/
将匹配任意数量的允许字符和数字,但如果没有1-9,中间部分将无法匹配
/[0-9-()]*[1-9][0-9-()]*/
您能描述一下规则吗?有例子是好的,但是没有考虑到大多数格式。那么
0000000000 1
是允许的吗?
/[0-9-()]*[1-9][0-9-()]*/