使用正则表达式验证日期格式

2009年5月14日星期四

使用正则表达式验证日期格式

项目中频频用到日期格式的验证,前段时间在网上发现了一个很好的代码,我在此基础上做了少许的改进,特将此保留到我的BLOG中。。。


js代码片段:


/*


*validate date(include bissextile)


*format: dd-mm-yyyy


*add by tony


*/


function isValidDate(sText) {


    //yyyy-MM-dd


    //var reDate = /^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29))$/


    //dd-mm-yyyy


    var reDate = /^(((0?[1-9]|[12]\d|3[01])-(0?[13578]|1[02])-((1[6-9]|[2-9]\d)\d{2}))|((0?[1-9]|[12]\d|30)-(0?[13456789]|1[012])-((1[6-9]|[2-9]\d)\d{2}))|((0?[1-9]|1\d|2[0-8])-0?2-((1[6-9]|[2-9]\d)\d{2}))|(29-0?2-((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/


    return reDate.test(sText);


}


页面调用片段:


function validateDate(){


    var begin = trim(document.getElementById("beginDate").value);


    if( begin != ""){


if(isValidDate(begin) == false){


             alert("==========");


    return false;


         }


    }


}



0 评论:

发表评论