A-A+
日期格式正则表达式javascript代码
下面总结了利用js来验证日期格式的几个js完整的实例,有需要的朋友可参考参考.
格式是,日/月/年,代码如下:
- //日期格式
- ['date_au', function(v) {
- if (Vanadium.validators_types['empty'].test(v)) return true;
- var regex = /^(d{2})/(d{2})/(d{4})$/;
- if (!regex.test(v)) return false;
- var d = new Date(v.replace(regex, '$2/$1/$3'));
- return ( parseInt(RegExp.$2, 10) == (1 + d.getMonth()) ) && (parseInt(RegExp.$1, 10) ==
- d.getDate()) && (parseInt(RegExp.$3, 10) == d.getFullYear() );
- },
请输入正确的日期格式,比如:28/05/2010.'],怎么把格式改成 年-月-日,或者是 月-日-年,代码如下:
- /**
- 判断输入框中输入的日期格式为yyyy-mm-dd和正确的日期
- */
- function IsDate(sm,mystring) {
- var reg = /^(d{4})-(d{2})-(d{2})$/;
- var str = mystring;
- var arr = reg.exec(str);
- if (str=="") return true;
- if (!reg.test(str)&&RegExp.$2<=12&&RegExp.$3<=31){
- alert("请保证"+sm+"中输入的日期格式为yyyy-mm-dd或正确的日期!");
- return false;
- }
- return true;
- }
例2,代码如下:
- //检验日期格式,合法的格式例如:2000-10-29,月份和天必须是两位,能检测闰年。
- function isDate(str){
- var reg=/^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-
- (?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|
- [13579][26])00)-02-29)$/;
- if (reg.test(str)) return true;
- return false;
- }
例3,只允许输入YYYY-MM-DD格式的,代码如下:
- <script type=”text/javascript”>
- function CheckDate()
- {
- var r =/^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-
- (?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|
- [13579][26])00)-02-29)$/;
- if(!r.exec(document.getElementById(“Text2″).value)){
- alert(“请输入格式正确的日期nr日期格式:yyyy-mm-ddnr例 如:2010-08-08nr”);
- return false;
- }
- else {
- return true;
- }
- }
- </script>
- js判断日期格式:<br />
- <input id=”Text2″ type=”text” /><br />
- <input id=”Button2″ type=”button” value=”判断日期” onclick=”CheckDate();”/>