re = new RegExp("([0-3]{0,1}[1-9]{1}/[0-1]{0,1}[1-9]{1}/[1-9]{1}[0-9]{3})");

解决方案 »

  1.   

    re = new RegExp("([0-3]{0,1}[1-9]{1}-[0-1]{0,1}[1-9]{1}-[1-9]{1}[0-9]{3})");
      

  2.   

    <script language=javascript>
    function isDate(str)
    {
       var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/); 
       if(r==null)return false; var d = new Date(r[1], r[3]-1, r[4]); 
       return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
    }
    alert(isDate("2002-01-31"));
    alert(isDate("2002-01-41"));
    </script>
      

  3.   

    <html>
    <head>
    <script lang="javascript">
    function checkx() {
    var pattern = /([0-3]{0,1}[1-9]{1}/[0-1]{0,1}[1-9]{1}/[1-9]{1}[0-9]{3})/;
    这么写不对啊。报错
    var flag = pattern.test(document.form.dateEdt.value);
          if (flag) {
          return true;
          }
          else {
          alert('日期格式不合法,请按yyyy-mm-dd格式填写');
          return false;
          } }</script>
    </head><body>
    <form name="form">
    <input type="text" name="dateEdt">
    <button onclick="checkx()">test</button>
    </form>
    </body>
    </html>
      

  4.   

    我的结果
    var pattern = /\d{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))/;
      

  5.   

    应该是这样
    var pattern = /\d{4}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))$/;
      

  6.   

    re = new RegExp("([0-3]{0,1}[1-9]{1}/[0-1]{0,1}[1-9]{1}/[1-9]{1}[0-9]{3})");是 yyyy/mm/ddre = new RegExp("([0-3]{0,1}[1-9]{1}-[0-1]{0,1}[1-9]{1}-[1-9]{1}[0-9]{3})");是 yyyy-mm-dd
      

  7.   

    可是,楼上的代码不能通过啊比如 1800-11-11  或 1900-11-11 或2004-11-11
    都不能通过校验。怎么回事?
    <script lang="javascript">
    function checkx() {
    var pattern = /([0-3]{0,1}[1-9]{1}-[0-1]{0,1}[1-9]{1}-[1-9]{1}[0-9]{3})/;
    // /(?:^(((1[8-9])|([2-9]\d))\d{2})-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))$)/;
    var flag = pattern.test(document.form.dateEdt.value);
          if (flag) {
          return true;
          }
          else {
          alert('日期格式不合法,请按1800-01-01格式填写');
          return false;
          } }</script>