如题。。求正则怎么写。

解决方案 »

  1.   

    这是一个组合
    function checkDate(text) {
        if (!text) return false;
        text = text.replace(/[\/-]0?/g, "/");
        if (!text.match(/^\d{4}\/\d{1,2}\/\d{1,2}$/)) return false;
        var d = new Date(text);
        return [d.getFullYear(), d.getMonth() + 1, d.getDate()].join("/") == text;
    }document.open();
    var datas = ["", "2010-01-01", "2010/02/30", "2010/02", "2010/22/30", "2012/2/29", "2012/02/29"];
    for(var i = 0; i < datas.length; i++) {
        document.write(datas[i], "=", checkDate(datas[i]), "
    ");
    }
    document.close();
      

  2.   

    简单正则可以这样:/^\d{4}(-\d{2}){2} \d{2}:\d{2}$/
    判断不了范围
      

  3.   

    /^[1-9]\d{3}-[01]\d-([0-2]\d|3[12])\s+([0-1]\d|2[0-3]):[0-5]\d$/
      

  4.   

    /^[1-9]\d{3}-([0\d|1[0-2])-([0-2]\d|3[12])\s+([0-1]\d|2[0-3]):[0-5]\d$/
      

  5.   

    /20\d{2}-\d{2}-\d{2}\s+\d{2}:\d{2}/这样最简单!