通过Jquery正确验证输入框

时间:2017-04-25 15:22:52

标签: javascript jquery

在我的Javascript中,我正在尝试验证用户的输入。 有没有办法可以显示(通过 .html()定义文本)(上)最接近的元素,类名为“xy”

我的HTML文件如下所示:

  <div class=" row validate" style="display:none;">
        <div class="col-lg-1"></div> 
        <div class="col-lg-7"><p class="validation_text"></p></div>   
    </div>
    <div class="row">
        <div class="col-lg-1 col-sm-0 col-xs-12"></div> 
        <div class="col-lg-3 col-sm-3 col-xs-12"><a href="#" data-
     toggle="tooltip" data-placement=" auto top" title="Text">Information</a></div>
        <div class="col-lg-2 col-sm-2 col-xs-12"><input id="xy" name="xy" 
  type="search" class="form-control"  maxlength="2" onChange="validate(this);">
  </div>
</div>

和我的JS-File:

 function validate(){
 var regex = new RegExp(/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?()]/);
 var box = ['xy','xyyy];
    var element;

element = document.getElementById(box[i]);

 for (i=0; i < box.length; i++){

  if(regex.test(element.value)){
        $(element).parent().parent().prev().show();
        element.style.border = '2px solid red';
$(".validation_text").eq([i]).html("your input contains regex");
 } 
 }
    }

一切正常,我遇到的唯一问题是最后一部分。 validation_text未显示。有人知道为什么吗?

1 个答案:

答案 0 :(得分:5)

eq()需要一个整数,你给它一个数组

$(".validation_text").eq([i])

应该是

$(".validation_text").eq(i)