您好我在jquery验证规则验证规则validator.addMethod上有一些代码,允许输入检查卡到期日的未来日期,即10/2015有效,我想问的是有没有办法添加限制未来20年,目前他们可以进入10/2099或更高的卡有效期。提前谢谢!
这是我的代码,它还需要自定义消息。超过日期范围
<input type="text" name="field_4" id="field_4" value="">
$.validator.addMethod(
"Future",
function (value, element) {
var today = new Date();
var startDate = new Date(today.getFullYear(),today.getMonth(),1,0,0,0,0);
var expDate = value;
var separatorIndex = expDate.indexOf('/');
expDate = expDate.substr( 0, separatorIndex ) + '/1' + expDate.substr( separatorIndex );
return Date.parse(startDate) <= Date.parse(expDate);
},
"Must be a valid Expiry Date"
);
$(function() {
$( "#Form" ).validate({
rules: {
field_4: {
required: true,
Future: true,
minlength: 7
},
答案 0 :(得分:8)
一种方式:
function (value, element) {
var today = new Date();
var thisYear = today.getFullYear();
var expMonth = +value.substr(0, 2);
var expYear = +value.substr(3, 4);
return (expMonth >= 1
&& expMonth <= 12
&& (expYear >= thisYear && expYear < thisYear + 20)
&& (expYear == thisYear ? expMonth >= (today.getMonth() + 1) : true))
}