如何使用jquery验证日期中的年份?
例如,如果我的日期类似于"01/05/0001"
,则应该给出错误。
答案 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
}
希望这有帮助。