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
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论