对验证表达式有疑问,日期验证为dd/mm/yyyy格式 [英] have doubt in validation expression,validation of date as dd/mm/yyyy format

查看:91
本文介绍了对验证表达式有疑问,日期验证为dd/mm/yyyy格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

最近我已经将日期验证为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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆