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

项目中频频用到日期格式的验证,前段时间在网上发现了一个很好的代码,我在此基础上做了少许的改进,特将此保留到我的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;
         }
    }
}

你可能感兴趣的:(正则表达式,Blog)