[英]Matching a string against values of array
我正在尝试制作一种登录系统,而我要从用户输入中获取一个字符串,我想检查该输入是否在特定数组中……
我到目前为止所得到的:
var name = $(".input").value();
var options = ["option_one", "option_two", "three"];
$(".submit").click(function() {
for(i=0; i < options.lenght; i++){
if(options[i] == name){
alert("true")
}else{
alert("false")
}
}
});
谁能帮我吗?
编辑: CodePen
您可以这样使用indexOf :
if(options.indexOf(name) != -1){
alert("valid")
}else{
alert("false");
}
indexOf
将从找到元素的数组中返回索引(> = 0),否则返回-1。
使用javscript Array.prototype.some()
函数:
var name = $(".input").value();
var options = ["option_one", "option_two", "three"];
if(options.some(el){
return el == name;
}){
alert("valid")
}else{
alert("false");
}
参考: https : //developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/some
Simplier方法-使用.includes()
函数。
http://codepen.io/anon/pen/JEVBgN
var name = $(".input").val(); var options = ["option_one", "option_two", "three"]; console.log(options.includes(name) ? 'valid!' : 'invalid!');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input class='input' value='three'>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.