日期验证及自动纠错。
http://jkisjk.vip.sina.com/code/html/forCheckDateInput.htm更多(如日历等)请到
http://jkisjk.vip.sina.com/code/html/

解决方案 »

  1.   

    http://expert.csdn.net/Expert/topic/1473/1473298.xml?temp=.2737543
      

  2.   

    时间输入验证。blur一下,可以看到效果<br>
    时间1<input onblur="checkTimeInput(this);" value="2002.3.6 12:30"><br>
    时间2<input onblur="checkTimeInput(this);" value="2.3.6"><br>
    时间3<input onblur="checkTimeInput(this);" value="2002/2/31"><br>
    时间4<input onblur="checkTimeInput(this);" value="fdsaf"><br>
    <script>  
    function checkTimeInput(obj)  //此函改由原来验证日期的函数改写而成,有擅作主张之嫌,请慎用
    {
    if (obj.value.length==0) return false;
    var objValue=obj.value.replace(/[-\.]/g,"/");
    var a=new Date(objValue);
    if (isNaN(a))
    {
    obj.value="";
    alert("!!!!请注意:\n您刚才输入的日期不正确,我们已进处了清除。");
    obj.focus();
    return false;
    }
    var b;
    if (a.getFullYear()<1900||a.getFullYear()>2200)
    {var Today=new Date();
    b=Today.getFullYear()+"-"+(a.getMonth()+1)+"-"+a.getDate();
    }
    else if (a.getFullYear()<1930)
    b=(a.getFullYear()+100)+"-"+(a.getMonth()+1)+"-"+a.getDate();
    else b=a.getFullYear()+"-"+(a.getMonth()+1)+"-"+a.getDate()+" "+a.getHours()+":"+a.getMinutes()+":"+a.getSeconds();
    obj.value=obj.value.replace(/[-\.\/]0*/g,"-");
    if ((new Date(b.replace(/[-\.]/g,"/")))-(new Date(obj.value.replace(/[-\.]/g,"/")))!=0)
    {
    obj.value=b;
    alert("!!!!请注意:\n您刚才输入的日期不正确,我们已进行了修改。");
    obj.select();
    obj.focus();
    return false;
    }
    obj.value=b;
    return true;
    }</script>
      

  3.   


    时间输入验证。blur一下,可以看到效果<br>
    时间1<input onblur="checkTimeInput(this);" value="12:30"><br>
    时间2<input onblur="checkTimeInput(this);" value="12:30"><br><script>  
    function checkTimeInput(obj)  //此函改由原来验证日期的函数改写而成,有擅作主张之嫌,请慎用
    {
    if (obj.value.length==0) return false;
    var objValue="2003/1/1 "+obj.value;
    var a=new Date(objValue);
    if (isNaN(a))
    {
    obj.value="";
    alert("!!!!请注意:\n您刚才输入的时间不正确,我们已进处了清除。");
    obj.focus();
    return false;
    }
    var b;
    b=a.getHours()+":"+a.getMinutes()+":"+a.getSeconds();
    if ((new Date("2003/1/1 "+b))-(new Date("2003/1/1 "+obj.value))!=0)
    {
    obj.value=b;
    alert("!!!!请注意:\n您刚才输入的日期不正确,我们已进行了修改。");
    obj.select();
    obj.focus();
    return false;
    }
    obj.value=b;
    return true;
    }</script>