如果输入的值与任何一个文本匹配,如何显示错误消息?

时间:2018-01-23 11:02:54

标签: javascript jquery

我正在处理表单输入字段,并在用户输入以下任何文本时尝试显示错误消息

  

JS01,PR03,HY79,FG36,VF42,HF23

基本上只有在用户输入上述文字时才需要显示错误信息。

<input type="text" name="prodcode" class="form-control"/>

我们应该使用正则表达式来实现这一目标吗?或任何jquery / javascipt可以做到这一点?

有人可以举个例子吗?

5 个答案:

答案 0 :(得分:1)

使用Jquery.inArray方法查明用户输入的单词是否在您定义的数组中,

    var myarray = ["JS01", "PR03","HY79","FG36", "VF42","HF23"];
    var inputWord = $("input[name='prodcode']").val();

    if(jQuery.inArray(inputWord , myarray) !== -1){ //if the word exits
      //do what you want here
    }

答案 1 :(得分:0)

您可以使用jquery indexof方法。例如: -

a = [JS01, PR03, HY79, FG36, VF42, HF23]


var value = $('input[name="prodcode"]').val();
var indexval = a.indexOf("value" ); // this will return -1 if not found else return index

if (indexval>=0){
// code for error

}

答案 2 :(得分:0)

请检查一下。解决方案已在keydown上完成

$(function(){
   var arr = ['JS01', 'PR03', 'HY79', 'FG36', 'VF42', 'HF23'];
    $('.form-control').keydown(function(){
   var inputval = $('.form-control').val();
   var k = $.inArray(inputval,arr);
   if(k != -1){
    alert('error');
   }
   });
});

答案 3 :(得分:0)

您可以使用包含方法( MDN includes )并检查预填充无效字符串的数组。

var valuesToCheckFor = ["JS01", "PR03","HY79","FG36", "VF42","HF23"];

if( valuesToCheckFor.includes($('input[name="prodcode"]').val()) ) {
   // Do what you want.
}

P.S。您必须在提交处理程序中添加此代码。

答案 4 :(得分:0)

试试这个:

var err = [ 'JS01', 'PR03', 'HY79', 'FG36', 'VF42', 'HF23' ];

$('#myInput').keyup(function (e){
  console.log("ERR", err.indexOf(this.value))
   if (err.indexOf(this.value) !== -1) {
      $('.error').css({display: 'block'})
   } else {
      $('.error').css({display: 'none'})
   }
})
.error{
 color: red; 
 display:none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="myInput" type="text" name="prodcode" class="form-control"/>
<div class="error">Error</div>