我需要验证账户的账户号码。 有效号可以是一个恰好数字或3个基团的用连字符隔开数字(2位- 3位数- 6位)序列正则表达式 - 验证具有两种不同的模式
我尝试这样做:
/^([0-9]{11})|([0-9]{2}-[0-9]{3}-[0-9]{6})$/
但它只适用于第二条规则。第一条规则不起作用,因为它允许超过11位
这是我如何使用正则表达式在我的js函数的数字:
var re = /^([0-9]{11})|([0-9]{2}-[0-9]{3}-[0-9]{6})$/;
if (re.test(txtNumber.value)==true) {
return 1;
}
else {
alert("Invalid Account Number");
return 0;
}
任何建议或指导,将不胜感激
有效号码:
12345678912(11位)
12-345-678912(11位本身由连字符)
INVALID NUMBERS parated:
1223(小于11位)
111111111111(大于11位)
123-23-678912(11位数,但不能正确分离,它应该是2个位数-3位数-6位)
这不是重复的,因为我不问如何使用XX-XXX-XXXXXX模式验证数字。我问的是为什么我的正则表达式中只有一条规则起作用,另一条则不起作用。 – eddy
对于看到这个问题的未来用户来说,它仍然是很好的信息,所以我会离开它。你不会有这种封闭的危险。 – aliteralmind