【发布时间】:2014-03-02 00:50:18
【问题描述】:
我是 Javascript 新手。
我需要输入用户名,然后验证它。
输入的用户名不能是此数组中的元素之一:["admin", "administrator", "demo", "user"] 等。数组可以更长。
到目前为止,我已经做到了,但它仅适用于数组中的第一个元素。
function arrayValidation () {
nonoUser = ["username", "admin", "administrator", "demo"];
valueOfInput = document.getElementById("user").value; // "user" here is id of input
for (var i = 0; i < nonoUser.length; i++) {
if (valueOfInput == nonoUser[i]) {
alert("you cant use this username");
}else {
return;
}
}
}
【问题讨论】:
-
您确定要在 JavaScript 中执行此操作吗?这是一种客户端语言,任何人都可以查看源代码..
-
如果您的输入不等于第一个输入,它将转到您放置返回的其他位置。所以删除 else 块
-
@Mathijs Flietstra 是正确的——您至少应该在服务器端验证这一点,并添加 javascript 验证作为一个不错的选择。依靠 javascript 验证来解决这个问题可能是灾难性的!
-
由于您是 JS 新手,这是一个众所周知的事实:无论您以何种方式编写 JavaScript,它总是在客户端编译和运行。这意味着无论您尝试采取何种预防措施,每个人都可以轻松阅读您编写的所有代码 - 包括该用户名数组。这是@MathijsFlietstra 对他的评论赞不绝口的众多原因之一。
-
感谢您分享此内容。我这样做只是为了锻炼目的。再次感谢。
标签: javascript arrays validation input