gpt4 book ai didi

javascript - 验证输入名称的 JS 函数无法正常工作

转载 作者:行者123 更新时间:2023-11-28 11:33:39 26 4
gpt4 key购买 nike

此代码的目的是检查用户输入的名称。如果该值包含 -abcdefghijklmnopqrstuvwxyz'ABCDEFGHIJKLMNOPQRSTUVWXYZ 以外的内容,该函数将引发错误。

我无法让它工作,并且我不允许使用正则表达式。我也尝试过 String1.indexOf(usr.substr(i,1)) > -1) 但这似乎也不起作用。

function nameValidation(username) {
var usr = document.getElementById("username").value;
usr = usr.trim();
var alpha = "-abcdefghijklmnopqrstuvwxyz'ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var ok = 1;
for (var i = 0; i < usr.length; i++) {
if (!isNaN(usr[i])) {
ok = 0;
break;
} else {
ok = 1;
document.getElementById("fnerror").innerHTML = "";
document.getElementById("username").style.borderColor = "lightgrey";
return true;
}
}

if (ok == 0) {
document.getElementById("fnerror").innerHTML = "X Enter Upper and lower case letters, hypen, apostrohe only please";
return false;
}
return true;
}

最佳答案

也许是这样的:

function isValidUsername(username) {
var alpha = "-'ABCDEFGHIJKLMNOPQRSTUVWXYZ";
username = username.toUpperCase();
for (var i = 0, l = username.length; i < l; i++) {
if (alpha.indexOf(username[i]) === -1) return false;
}
return true;
}

将字符串大写更便宜,因此可以测试更短的字符集(尽管充其量可能是微不足道的,因为即使是 native 大写也有成本......)

关于javascript - 验证输入名称的 JS 函数无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31819320/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com