限制文本框输入YYYY-MM-DD格式的日期

时间:2022-05-30 13:55:31

文本输入框有时对输入的文本有限制,如限制输入YYYY-MM-DD格式的日期,可以通过正则表达式实现

function IsDate(str){
var reg=/^(\d{4})-(\d{2})-(\d{2})$/;
if (str=='') {
return false;
}
var arr=reg.exec(str);

if(!reg.test(str) || parseInt(RegExp.$2)>=12 || parseInt(RegExp.$3)>=31){
return false;
}
return true;
}

arr=reg.exec(str),arr是一个数组,将匹配的文本放到第一个元素中,同时将子匹配元素放到后面的元素中:

如:str=”2015-06-05”,则对应的arr=[“2015-06-05”,”2015”,”06”,”05”]

RegExp.$2和arr[2]是等价的,也就是arr被返回之后,对应的RegExp也会被赋值,和arr中的值对应相同