Javascript正则表达式帮助

时间:2010-07-29 01:36:00

标签: javascript regex

有人知道如何制作前锋和格式:dd / mm / yyyy在这个正则表达式中是强制性的吗?

// Checks a string to see if it in a valid date format
// of (D)D/(M)M/(YY)YY and returns true/false
function isValidDate(s) {
    // format D(D)/M(M)/(YY)YY
    var dateFormat = /^\d{1,4}[\.|\/|-]\d{1,2}[\.|\/|-]\d{1,4}$/;
    if (dateFormat.test(s)) {
        // remove any leading zeros from date values
        s = s.replace(/0*(\d*)/gi,"$1");
        var dateArray = s.split(/[\.|\/|-]/);
              // correct month value
        dateArray[1] = dateArray[1]-1;
        // correct year value
        if (dateArray[2].length<4) {
            // correct year value
            dateArray[2] = (parseInt(dateArray[2]) < 50) ? 2000 + parseInt(dateArray[2]) : 1900 + parseInt(dateArray[2]);
        }
        var testDate = new Date(dateArray[2], dateArray[1], dateArray[0]);
        if (testDate.getDate()!=dateArray[0] || testDate.getMonth()!=dateArray[1] || testDate.getFullYear()!=dateArray[2]) {
            return false;
        } else {
            return true;
        }
    } else {
        return false;
    }
}

2 个答案:

答案 0 :(得分:1)

强制性dd / mm / yyyy尝试:

 var dateFormat = /^\d{2}\/\d{2}\/\d{4}$/;

我没有密切关注其余的功能,但我认为这就是你的目标。

答案 1 :(得分:0)

这样做我认为..

/^\d{2}\/\d{2}\/\d{4}$/

强制2位数日,2位数月份,4位数年份和/作为分隔符..

/^[0-3][0-9]\/[0-1][0-9]\/\d{4}$/

强制执行一点边界控制..
:00-39
:00-19