<form method="POST" action="02.asp" language="JavaScript" name="form1" >
    <input type="text" name="tom" size="20" style="font-size: 9PT; color: #000000; border: 1px solid #000000; padding: 0;  maxlength="10">
    <input type="button" name="Button" value="Button" onclick="chkdate()">
</form>
<script>
function chkdate()
{if(form1.tom.value!=form1.tom.value.match(/\d{4}-\d{2}-\d{2}/ig))
  alert("Error!")
}
</script>

解决方案 »

  1.   

    /**
     判断输入框中输入的日期格式为yyyy-mm-dd和正确的日期
    */
    function IsDate(sm,mystring) {
      var reg = /^(\d{4})-(\d{2})-(\d{2})$/;
      var str = mystring;
      var arr = reg.exec(str);
      if (str=="") return true;
      if (!reg.test(str)&&RegExp.$2<=12&&RegExp.$3<=31){
       alert("请保证"+sm+"中输入的日期格式为yyyy-mm-dd或正确的日期!");
       return false;
       }
       return true;
     }
      

  2.   

    //判断日期型
    function IsDate(DateString , Dilimeter)
    {
    if (DateString==null) return false;
    if (Dilimeter=='' || Dilimeter==null) Dilimeter = '-';
    var tempy='';
    var tempm='';
    var tempd='';
    var tempArray;
    if (DateString.length<8 || DateString.length>10) return false;
    tempArray = DateString.split(Dilimeter);
    if (tempArray.length!=3) return false;
    //if (tempArray[0].length==4)
    //{
    tempy = tempArray[0];
    tempd = tempArray[2];
    //}
    //else
    //{
    // tempy = tempArray[2];
    // tempd = tempArray[1];
    //}
    tempm = tempArray[1];
    var tDateString = tempy + '/'+tempm + '/'+tempd;
    var tempDate = new Date(tDateString);
    if (isNaN(tempDate)) return false;if (((tempDate.getUTCFullYear()).toString()==tempy) && (tempDate.getMonth()==myparseInt(tempm)-1) && (tempDate.getDate()==myparseInt(tempd)))
    {
    return true;
    }
    else
    {
    return false;
    }
    }//去掉月份或日期前的0,比如2003-02-04 ->2003-2-4
    function myparseInt(num)
    {
    var tempnum=num + "";
    while(tempnum.substr(0,1)=="0") {
    tempnum=tempnum.substr(1);
    }
    return(parseInt(tempnum));
    }
      

  3.   

    以前写的一个可以自由指定日期格式的:<SCRIPT LANGUAGE="JavaScript">
    <!--
    function  getDateByMask(s,m){  
    if (s.length!=m.length){
    return false;
    }
    try{
    m=m.replace(/Y/g,"y").replace(/D/g,"d");
    if (m.indexOf("yyyy")>-1) 
    return  new  Date(
    s.substr(m.indexOf("yyyy"),4),
    s.substr(m.indexOf("MM"),2)-1,
    s.substr(m.indexOf("dd"),2)
    )
    else return  new  Date(
    s.substr(m.indexOf("yy"),2),
    s.substr(m.indexOf("MM"),2)-1,
    s.substr(m.indexOf("dd"),2)
    )
    }
    catch (e)
    {
    return null;
    }
    }/****************************   test:    *************************************/
    alert(getDateByMask("2002/02/01","yyyy/MM/dd"))
    alert(getDateByMask("02/02/01","yy/MM/dd"))function  checkDateByMask(s,m){
    if (s.length!=m.length){
    return false;
    }
    try{
    var d = getDateByMask(s,m)
    m=m.replace(/Y/g,"y").replace(/D/g,"d");
    if (m.indexOf("yyyy")>-1) 
    return  (
    d.getFullYear() == s.substr(m.indexOf("yyyy"),4)
    && d.getMonth() == s.substr(m.indexOf("MM"),2)-1
    && d.getDate() == s.substr(m.indexOf("dd"),2)
    )
    else return  (
    d.getYear() == s.substr(m.indexOf("yy"),2)
    && d.getMonth() == s.substr(m.indexOf("MM"),2)-1
    && d.getDate() == s.substr(m.indexOf("dd"),2)
    )
    }
    catch (e)
    {
    return false;
    }
    }/****************************   test:    *************************************/
    alert(checkDateByMask("2002/02/01","yyyy/MM/dd"))
    alert(checkDateByMask("02/02/01","yy/MM/dd"))
    alert(checkDateByMask("2002/13/01","yyyy/MM/dd"))
    alert(checkDateByMask("02/02/30","yy/MM/dd"))
    //-->
    </SCRIPT>注意在日期格式中,MM表示月而mm表示分。
      

  4.   

    xinyunyishui(心云意水)您好:
        您的方法有时有错误,把光标前移就可以提交,比如在输入错误日期如“1234135554666”,把光标放在“..555..”时,就可以提交。
      

  5.   

    xinyunyishui(心云意水)您好:
        您的方法有时有错误,把光标前移就可以提交,比如在输入错误日期如“1234135554666”,把光标放在“..555..”时,就可以提交。
      

  6.   

    日期输入验证与自动纠错:
    http://jkisjk.vip.sina.com/code/html/forCheckDateInput.htm更多,如日历等:
    http://jkisjk.vip.sina.com/code/html/index.html
      

  7.   

    <script language="vbscript">alert(IsDate("2002-12-10"))</script>IsDate 即可。
    或者在Vbscript 里改写一下,在javascript里面调用,更简单。IsDate功能很强大,象2002/12/10 2002-12-10  2003-11-15:12:45 都能认识
    <script language="vbscript">function myCheckDate(val)
       if IsDate(val) then
    myCheckDate=true
       else 
    myCheckDate=false
    end if
       end function
    <script><script>alert(myCheckDate("2005-10-14"))
    <script>