var reg = /^\(00852\)[ -]?\d{8}([ -]\d{1,4})?|00852[ -]\d{8}([ -]\d{1,4})?|0?\d{11}$/;
alert(reg.test(obj.value));
上面的正则表达式为什么输入"013313313313333333"这样的也返回true呢??
var reg = /^0?\d{11}|\(00852\)[ -]?\d{8}([ -]\d{1,4})?|00852[ -]\d{8}([ -]\d{1,4})?$/;
alert(reg.test(obj.value));
调换位置也没用
但是如果单独使用
var reg = /^0?\d{11}$/;
alert(reg.test(obj.value));
则可以判断出上面的"013313313313333333"是错误的var reg = /^\(00852\)[ -]?\d{8}([ -]\d{1,4})?|00852[ -]\d{8}([ -]\d{1,4})?$/;
alert(reg.test(obj.value));
这样也可以判断出00852-88888888这样的香港号码,为什么就是把它们连起来不行呢??
alert(reg.test(obj.value));
上面的正则表达式为什么输入"013313313313333333"这样的也返回true呢??
var reg = /^0?\d{11}|\(00852\)[ -]?\d{8}([ -]\d{1,4})?|00852[ -]\d{8}([ -]\d{1,4})?$/;
alert(reg.test(obj.value));
调换位置也没用
但是如果单独使用
var reg = /^0?\d{11}$/;
alert(reg.test(obj.value));
则可以判断出上面的"013313313313333333"是错误的var reg = /^\(00852\)[ -]?\d{8}([ -]\d{1,4})?|00852[ -]\d{8}([ -]\d{1,4})?$/;
alert(reg.test(obj.value));
这样也可以判断出00852-88888888这样的香港号码,为什么就是把它们连起来不行呢??
var reg1 = /^0?\d{11}$/;
var reg2 = /^\(00852\)[ -]?\d{8}([ -]\d{1,4})?|00852[ -]\d{8}([ -]\d{1,4})?$/;
return reg1.test(sValue) || reg2.test(sValue);
}
alert("013313313313333333");
function validate(sValue){
var reg1 = /^0?\d{11}$/;
var reg2 = /^\(00852\)[ -]?\d{8}([ -]\d{1,4})?|00852[ -]\d{8}([ -]\d{1,4})?$/;
return reg1.test(sValue) || reg2.test(sValue);
}
alert(validate("013313313313333333"));不好意思,少些了个方法名
又测试了下
\d{5}-\d{4}|\d{5,6}
这样也出错...输入5个字符以内还正常,输入超过20个字符了都还提示true....
大概前30分钟前都还正常的...浏览器也清了缓存...也用FF 3.5测试了...
既然就是死活不行...
刚辛辛苦苦测试的一个正则表达式也不行了...
大概前一小时还是可以的...就在写了主楼上的那个正则表达式出错后,又测试了N个正则表达式
只要使用到|的都不行...
而第一个写的那个,之前反复测试了N次都可以的...
现在既然也不行了...TAT
不限制的话,只要符合就会报true的