我编写了一个验证输入的例程。它工作正常,但是当我输入字符 a 时,它就接受了。这是我的代码。
function isValidPhoneNumber(val) {
var flag = true;
var invalidChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@!$#";
if (flag) {
for (index = 0; index <= val.length - 1; index++) {
var phchars = val.substring(index, index + 1);
if (invalidChars.indexOf(phchars) > 0) {
flag = false;
break;
}
}
}
return flag;
}
假设如果我给了 val='+9122a5669974' 那么它返回 true。indexof 函数无法找到 a....为什么。请告诉我例行程序中有什么问题。如果发现存在于 invalidChars 变量中的任何字符,则例程应返回 false,但当找到时例程返回 true。帮助我发现错误。谢谢