对文件执行字母数字检查的最佳方法是什么INPUT
领域在JSP
?我已附上我当前的代码
function validateCode() {
var TCode = document.getElementById("TCode").value;
for (var i = 0; i < TCode.length; i++) {
var char1 = TCode.charAt(i);
var cc = char1.charCodeAt(0);
if ((cc > 47 && cc < 58) || (cc > 64 && cc < 91) || (cc > 96 && cc < 123)) {
} else {
alert("Input is not alphanumeric");
return false;
}
}
return true;
}
询问者最初的使用倾向str.charCodeAt(i)
似乎比正则表达式替代方案更快。在我对 jsPerf 的测试RegExp 选项在 Chrome 36 中执行速度慢 66%(在 Firefox 31 中稍微慢一些)。
这是原始验证代码的清理版本,它接收字符串并返回true
or false
:
function isAlphaNumeric(str) {
var code, i, len;
for (i = 0, len = str.length; i < len; i++) {
code = str.charCodeAt(i);
if (!(code > 47 && code < 58) && // numeric (0-9)
!(code > 64 && code < 91) && // upper alpha (A-Z)
!(code > 96 && code < 123)) { // lower alpha (a-z)
return false;
}
}
return true;
};
当然,可能还有其他的考虑,比如可读性。一行正则表达式肯定看起来更漂亮。但如果您严格关注速度,您可能需要考虑这种替代方案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)