当前位置: 代码迷 >> JavaScript >> 验证用户输入是否与使用本机js的锚标记的文本匹配
  详细解决方案

验证用户输入是否与使用本机js的锚标记的文本匹配

热度:76   发布时间:2023-06-05 16:02:19.0

我有一个表单字段:1-输入文本和一个按钮...

<form action="#">
   <input type="text" id="desc" value="">
   <input name="submit" tabindex="1" value="Update" type="submit" onclick="validate()">            
</form>

这是我的锚标签

<ul>        
    <li><a class="gen"  href="#"> Jan</a></li>
    <li><a class="gen"  href="#"> Feb </a></li>
    <li><a class="gen"  href="#"> March </a></li>
</ul>

javascript中有没有一种方法可以检查input的值并与anchor标签的值进行匹配?

如果存在匹配项,则发出alert(match) 如果不是,那么alert(not)

不区分大小写-如果输入值为"jan""jAn"则仍然匹配。

您可以尝试以下代码

 $("#valid").click(function(e) { e.preventDefault(); var f = 0; $(".gen").each(function() { if ($(this).text().toLowerCase().trim() === $("#desc").val().toLowerCase().trim()) { f = 1; alert("match"); } }); if (f == 0) alert("No Match"); }) 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <form action="#"> <input type="text" id="desc" value=""> <input name="submit" id="valid" tabindex="1" value="Update" type="submit"> </form> and here is the my anchor tag <ul class="tags"> <li><a class="gen a" href="#"> Jan</a> </li> <li><a class="gen" href="#"> Feb </a> </li> <li><a class="gen" href="#"> March </a> </li> </ul> 

这应该是纯JavaScript解决方案

function validate(){
    var val = document.getElementById("desc").value.trim().toLowerCase();
    var a_list = document.getElementsByClassName("gen");
    var content;
    for(var i=0;i<a_list.length;i++){
        content = a_list[i].innerHTML.trim().toLowerCase();
        if(content == val){
            alert('match');
            return;
        }
    }
    alert('no match');
    return;
}

function validate() {
    var flag = false;
    var x = document.getElementById("desc");
    x = x.value;
    var y = document.getElementsByClassName("gen");
    for (var i = 0; i < y.length; i++) {
        if(x.toLowerCase().trim() == y[i].innerHTML.toLowerCase().trim()){
            flag = true;
        }
    }
    if (flag) {
        alert("y");
    } else {
        alert("n");
    }
}

干得好。 这应该工作。

  相关解决方案