在加载页面和键入时验证表单字段

时间:2015-04-14 14:29:18

标签: jquery

我正在尝试在刷新页面时验证某个表单字段,因为它们会保留其内容,即使它正确,脚本也不知道它并将其标记为不正确

$(document).ready(function() {
    $('#phone').on('input', function() {
          var input=$(this);
          var re =/^[0-9]{9}$/;
          var is_phone=re.test(input.val());
          if(is_phone){input.removeClass("invalid").removeClass("error").addClass("valid");}
          else{input.removeClass("valid").addClass("invalid");}
    });
});

此代码在输入时验证文本,我只想在on()事件中添加第二个条件,但在尝试使用' ready'并且'加载'它没有用。

1 个答案:

答案 0 :(得分:1)

将逻辑与事件处理程序分开,以便您可以从多个位置调用它。

$(document).ready(function() {

  function validateInput ( element ) {

    var input = $(element);
    var re =/^[0-9]{9}$/;
    var is_phone=re.test(input.val());

    if ( is_phone ) {
      input.removeClass("invalid").removeClass("error").addClass("valid"); 
    } else { 
      input.removeClass("valid").addClass("invalid");
    }
  }

  // Called on input event
  $('#phone').on('input', function (ev) { validateInput(this); });

  // Called on load
  validateInput( $('#phone') );
});