什么是正则表达式验证日期格式,如mm / yyyy。

时间:2012-05-25 00:28:33

标签: javascript jquery regex jquery-validate

用于验证日期格式(如mm / yyyy)的正则表达式是什么。我是正则表达式的新手

$.validator.addMethod(
"customDate",
function(value, element) {
    return value.match(?);
},
"Please enter a date in the format mm/yyyy"
);

在这方面,有人可以帮助我吗?

4 个答案:

答案 0 :(得分:3)

扩展RobG的功能:

function validateDate(s) {
  return /^([1-9]|1[0-2])\/[12]\d{3}$/.test(s);
}

([1-9]|1[0-2])检查1 - 910 - 12[12]\d{3}确保年份为12后跟三个数字(因此,有效范围为1000 - 2999;如果您需要更多具体值,请更新您的问题。

修改 如果您希望月份值为01-12,请将正则表达式更改为:

/^(0[1-9]|1[0-2])\/[12]\d{3}$/

答案 1 :(得分:2)

“有效”的标准是什么? /^\d{2}/\d{4}$/是否足够,或者您需要检查月份是否在1到12之间?

此外,使用测试更合适:

function validateDate(s) {
    return /^\d{2}\/\d{4}$/.test(s);
}

或更高效的版本(仅创建一次正则表达式):

var validateString = (function() {
    var re = /^\d{2}\/\d{4}$/;
    return function(s) { return re.test(s);}
}());

答案 2 :(得分:0)

试试这个正则表达式:

var regex = /^(\d{2})[\/](\d{4})$/.exec(date);

之后,您可以检查正则表达式子组的超出范围,例如从现在开始的1000年等等。

答案 3 :(得分:0)

这里你去:

/^[01]?\d\/\d{4}$/