怎么判断输入的日期格式是否正确?

解决方案 »

  1.   

    1.正则表达式,根据你的日期格式各有不同,不知道你的日期格式是怎么样的,自己到网上搜吧.
    2.自己写js判断.
    3.用输入的日期来创建一个datatime对象,如果抛出异常就说明日期不正确.建议用1.
      

  2.   


    function isDate(str)
    {
        var reg = /^({1,4})(-|{1,2}){1,2})$/;
        result = str.match(reg);
        if(result == null)return false;
        var d = new Date(result[1],result[3]-1,result[4])
        var newStr = d.getFullYear()+result[2]+(d.getMonth()+1)+result[2]+d.getDate();
        return str == newStr
    }
    try
        {
        hdate=new Date(hyear,hmonth-1,day)
        }
    catch(e)
        {
        alert('错误');
        }
    <script language="JavaScript">
    String.prototype.IsDate=function()
    {
    var str=this;
        var reg =/^({1,2})-({1,2})$/;    
        var r=str.match(reg);    
        if(r==null)return false;    
        r[2]=r[2]-1;    
        var d=new Date(r[1],r[2],r[3]);    
        if(d.getFullYear()!=r[1])return false;    
        if(d.getMonth()!=r[2])return false;    
        if(d.getDate()!=r[3])return false;    
        return true;  
    }
    </script>
      

  3.   

    <script>
    function isDate(str)
    {
        var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
        result = str.match(reg);
        if(result == null)return false;
        var d = new Date(result[1],result[3]-1,result[4])
        var newStr = d.getFullYear()+result[2]+(d.getMonth()+1)+result[2]+d.getDate();
        return str == newStr
    }
    alert(isDate("2004-5-1"))
    alert(isDate("2004-5-32"))
    alert(isDate("2004-2-30"))
    </script>
      

  4.   

    DateTime aa =new DateTime();
    try
    {
      aa =Convert.ToDateTime(this.textbox1.Text); 
    }
    catch
    {
     this.label.Text="error";
     return;
    }