使用Jquery从给定的日期验证年份

Validate Year from the given date using Jquery

本文关键字:日期 验证 Jquery 使用      更新时间:2023-09-26

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

例如,如果我有像"01/05/0001"这样的日期,它应该给出一个错误。

假设有效年份介于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 !');
}

解释:

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

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

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

我建议您使用日期选择器并设置最小日期( I)。E,年份范围)像这样:

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

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

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
}

我使用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
}

希望这有帮助。