JS判断输入日期的正确性

JS判断输入日期的正确性
<script language=javascript>
function strDateTime(str){
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/; 
var r = str.match(reg); 
if(r==null)return false; 
var d= new Date(r[1], r[3]-1,r[4]); 
var newStr=d.getFullYear()+r[2]+(d.getMonth()+1)+r[2]+d.getDate()
return newStr==str
}
alert(strDateTime("2002-1-31"))
alert(strDateTime("2002-1-41"))
</script> 

 

如果alert(strDateTime("2002-01-31"))
則判斷為非法
所以我是這樣寫的
function isDate(str){
 if (str.length==0)return true;
 var reg = /^(\d{4})(-|\/)(0?[1-9]|1[0-2])(-|\/)(0?[1-9]|[12][0-9]|3[01])$/g; 
 var r = reg.exec(str); 
 if(r==null)return false;
 var d = new Date(r[1], r[3]-1,r[5]); 
 var newStr=d.getFullYear()+r[2]+(d.getMonth()+1)+r[2]+d.getDate()
 var reg=/(\/|-)(0*)( *)([1-9])/g  //(容許空格﹐這個可取消)
 var t=s.value.replace(reg,'$1$4')
 if (newStr==t)return true;
 return false;
}

版权声明:
作者:Kiyo
链接:https://www.wkiyo.cn/html/2008-01/i117.html
来源:Kiyo's space
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>