对验证表达式有疑问,日期验证为dd/mm/yyyy格式 [英] have doubt in validation expression,validation of date as dd/mm/yyyy format
问题描述
最近我已经将日期验证为dd/mm/yyyy格式.我从网上搜索,并且得到了一些答案,
recently i have validate date as dd/mm/yyyy format.I search from net and i have some answer as
var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
var matchArray = dateStr.match(datePat); // is the format ok?
if (matchArray == null) {
alert("Please enter date as either mm/dd/yyyy or mm-dd-yyyy.");
return false;
}
month = matchArray[1]; // p@rse date into variables
day = matchArray[3];
year = matchArray[5];
if (month < 1 || month > 12) { // check month range
alert("Month must be between 1 and 12.");
return false;
}
if (day < 1 || day > 31) {
alert("Day must be between 1 and 31.");
return false;
}
if ((month==4 || month==6 || month==9 || month==11) && day==31) {
alert("Month "+month+" doesn`t have 31 days!")
return false;
}
if (month == 2) { // check for february 29th
var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
if (day > 29 || (day==29 && !isleap)) {
alert("February " + year + " doesn`t have " + day + " days!");
return false;
}
}
return true; // date is valid
}
我已经了解了,但我不了解的是
在
i have understood it but the thing i havent understood is
in line
var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
我已经理解了代码,但我尚未理解的代码是/^(\ d {1,2})(\/|-)(\ d {1,2})(\/|-)( \ d {4})$/;
/^它做什么. $的作用是什么?如果我在javascript中将上述代码写为(\ d {1,2})(\/|-)(\ d {1,2})(\/|-)(\ d {4}) .
请帮助...
i have understood the code but the code which i havent understood is that what does line /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/ ;
/^ what does it do. and what does $ do? also if i write the above code as (\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4}) in javascript will it work.
please help...
推荐答案
/; var matchArray = dateStr.match(datePat); // 格式可以吗? 如果(matchArray == 空){ 警报(" ) ; 返回 假; } month = matchArray [ 1 ]; // p @ rse日期转换为变量 day = matchArray [ 3 ]; year = matchArray [ 5 ]; 如果(月< 1 ||月> 12 ){// 检查月份范围 alert(" ); 返回 假; } 如果(天< 1 ||天> 31 ){ alert(" ); 返回 假; } 如果(((月== 4 || month == 6 || month == 9 || month == 11 )&& day == 31 ){ alert(" + month + " 没有31天!") 返回 假; } 如果(月== 2 ){// 检查2月29日 var isleap =(年% 4 == 0 &&(年% 100 != 0 ||年% 0 )); 如果(天> 29 || (day == 29 &&!isleap)){ alert(" + year + " 没有" +天+ 天! "); 返回 假; } } 返回 真; // 日期有效 }
/; var matchArray = dateStr.match(datePat); // is the format ok? if (matchArray == null) { alert("Please enter date as either mm/dd/yyyy or mm-dd-yyyy."); return false; } month = matchArray[1]; // p@rse date into variables day = matchArray[3]; year = matchArray[5]; if (month < 1 || month > 12) { // check month range alert("Month must be between 1 and 12."); return false; } if (day < 1 || day > 31) { alert("Day must be between 1 and 31."); return false; } if ((month==4 || month==6 || month==9 || month==11) && day==31) { alert("Month "+month+" doesn`t have 31 days!") return false; } if (month == 2) { // check for february 29th var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)); if (day > 29 || (day==29 && !isleap)) { alert("February " + year + " doesn`t have " + day + " days!"); return false; } } return true; // date is valid }
我已经了解了,但我不了解的是
在
i have understood it but the thing i havent understood is
in line
var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})
/;
我已经理解了代码,但我尚未理解的代码是/^(\ d {1,2})(\/|-)(\ d {1,2})(\/|-)( \ d {4})
i have understood the code but the code which i havent understood is that what does line /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})
/;
/^它做什么.还有什么
/ ;
/^ what does it do. and what does
这篇关于对验证表达式有疑问,日期验证为dd/mm/yyyy格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!