繁体   English   中英

将字符串与数组值匹配

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM