使用Jquery

时间:2015-10-09 07:17:26

标签: javascript jquery date

如何使用jquery验证日期中的年份?

例如,如果我的日期类似于"01/05/0001",则应该给出错误。

5 个答案:

答案 0 :(得分:0)

你不需要jQuery。使用普通的JS来操作字符串并进行简单的检查。如果它大于1900,我们假设您认为年份有效:



var str = "01/05/0001";
var year = str.split("/").pop();
if (!(year > 1900)) {
  alert("Invalid year: " + year);
}




答案 1 :(得分:0)

我建议你改为使用datepicker并设置最小日期(即年份范围),如下所示:

$("#textBox").datepicker({
    changeMonth: true, 
    changeYear: true, 
    yearRange: '1900:+0'
 });

答案 2 :(得分:0)

jquery有你可以使用的Date对象将你的字符串格式化日期转换为jquery中的Date,然后获取年,月,日。

var date = new Date( "01/05/0001");
var year = date.getFullYear();
var month = date.getMonth();
var day = date.getDate();
if(year > 1950){
   //your valid condition code
}
else{
    // invalid condition code
}

答案 3 :(得分:0)

我们假设有效年份介于1500和当前年份2015之间,因此验证将如下:

<强>代码:

var str = "01/05/0001";
var year = str.match(/\/(\d{4})/)[1];
var currYear = new Date().toString().match(/(\d{4})/)[1];
if (year >= 1500 && year <= currYear) {
  alert(year + ' is valid.');
} else {
  alert(year + ' is an invalid year !');
}

<强>解释

我们取日期并提取年份,并将其与给定的前一年和当前年份进行比较。

答案 4 :(得分:0)

我正在使用jquery验证器。 这节省了我很多时间。

jQuery.validator.addMethod("checkYear", function(value, element) {
    var year = $(element).val();
    return (year > 1950) && (year <= (new Date()).getFullYear());
}, "Invalid year");

使用:

field_year: {
   required: true,
   checkYear:true
}
希望这有帮助。