http://expert.csdn.net/Expert/topicview.asp?id=1088786

解决方案 »

  1.   

    这是JK_10000(JK1) 写的,我用了 感觉不错,你可以试试看
    功能:认多种格式,能自动纠错,
    测试值:
    2.2.3
    2002.3.20
    2002.2.30
    fdsa
    <input name=a alt="日期1" onblur="checkDateInput(this)" ><script language=javascript>function checkDateInput(obj)  //用于检查日期输入是否正确 (日期输入范围为1930-01-01 到2200-12-31)
    {
    if (obj.value.length==0) return false;
    var objValue=obj.value.replace(/[-\.]/g,"/");

    try
    {
    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();
    obj.value=obj.value.replace(/[-\.\/]0*/g,"-");
    if (b!=obj.value)
    {
    obj.value=b;
    alert("!!!!请注意:\n您刚才输入的日期不正确,我们已进行了修改。");
    obj.select();
    obj.focus();
    return false;
    }
    }
    catch(Exception)
    {
    obj.value="";
    alert("!!!!请注意:\n您刚才输入的日期不正确,我们已进处了清除。");
    obj.focus();
    return false;
    }
    return true;
    }
    </script>
      

  2.   

    JK_10000(JK1)  写得不能监测我这种格式!