用于验证日期格式(如mm / yyyy)的正则表达式是什么。我是正则表达式的新手
$.validator.addMethod(
"customDate",
function(value, element) {
return value.match(?);
},
"Please enter a date in the format mm/yyyy"
);
在这方面,有人可以帮助我吗?
答案 0 :(得分:3)
扩展RobG的功能:
function validateDate(s) {
return /^([1-9]|1[0-2])\/[12]\d{3}$/.test(s);
}
([1-9]|1[0-2])
检查1
- 9
或10
- 12
。
[12]\d{3}
确保年份为1
或2
后跟三个数字(因此,有效范围为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}$/