如何使用jquery规则验证我在文本框中输入的年份?

时间:2014-02-16 08:42:32

标签: javascript jquery html

我有一个HTML文本框:

<form method="post" id="register-form" novalidate>
  Session:
  <input type="text" name="session" id="session"/>
  <input type='submit' name='add' value='Save'/>
</form>

我希望我在文本框中输入的日期介于2000和2000之间。 2014年和212,998等输入应该被拒绝。如何在JQuery中验证它?

<script>
  $(function() {
    $("#register-form").validate({
      rules: {      
        session: {
          required: true,
        },  
      },
      messages: {
        session: "Please enter year",                       
      },
      submitHandler: function(form) {
        form.submit();
      }
    });
  }); 
</script>

3 个答案:

答案 0 :(得分:2)

你应该使用“min”和;像这样的jQuery插件的“max”方法:

$("#register-form").validate({
    rules: {        
        session: {
            required: true,
            min: 2000,
            max: 2014     
        },  
 },
    messages: {
    session: "Please enter year",                       
    },
    submitHandler: function(form) {
        form.submit();
    }
});

来源: http://jqueryvalidation.org/min-method http://jqueryvalidation.org/max-method/

答案 1 :(得分:2)

您可以像这样自定义验证规则

$.validator.addMethod("validYear", function(value, element) {
    return ((parseInt(value) > 1999) && parseInt(value) < 2015);
}, "Year should  be between 2000-2014");

然后使用它来定义规则

$("#register-form").validate({
    rules: {        
        session: {
            required: true,
            validYear:true
        },  
 },

<强> Js Fiddle Demo

答案 2 :(得分:1)

使用范围指定范围。

$( “#寄存器形式”)。验证({

    rules: {        
        session: {
            required: true,
            range:[2000,2014]

        },  

 },

    messages: {
    session: "Please enter year",                       
    },


    submitHandler: function(form) {
        form.submit();
    }
});