我已经创建了用于验证美国驾驶执照的JavaScript函数。问题是功能依赖于浏览器。也就是说功能在IE中产生的错误,但在Mozilla和Chrome运行正常..JavaScript中的许可证编号验证
我已经验证了它作为第一个三位数字应该是0或1或2或3
//license number
var strFilter = /^[0-9]*$/;
var chkVal36 = document.getElementById("license").value;
var chkVal37 = document.getElementById("license").value.length;
var chkVal38 = document.getElementById("license").value;
if ((!strFilter.test(chkVal36)) || ((chkVal36 !== "") && (chkVal36 === 0)) || (chkVal36 !== "") || (chkVal37 !== 8) || ((chkVal38[0] !== 0) && (chkVal38[0] !== 1) && (chkVal38[0] !== 2) && (chkVal38[0] !== 3))) {
alert("Please enter valid 8-digit license number\r\n(Only digits)");
document.getElementById("license").focus();
document.getElementById("license").style.background = "#DFE32D";
document.getElementById("license").value = null;
return false;
}
你会得到什么错误?您应该删除所有对document.getElementById的额外调用,并将其替换为:var license = document.getElementById(“license”);我也会改变你的正则表达式为/^[0-9] + $ /,因为+会匹配1或更多,那么你不需要检查一个空字符串。 – row1
如果我使用输入'12332111',那么它会返回错误和警报。根据我的情况,我已经用0-3中的任何一个数字1 –
@ row1:你能否以正确的方式写下它。 –