(\d{2}|\d{4})-((0([1-9]))|(1[0-2]))-([1-9]|([1|2]\d)|(3[0|1])|(0[1-9]))

解决方案 »

  1.   

    swzlxm(leon.net) 回答问题也太不负责了.我现在做出来了,大家可以参考一下.采用javascripts
    function isValidDate(year, month, date){
    var yyyy = year * 1;
    if (yyyy < 80){
    yyyy += 2000;
    }else if (yyyy < 100){
    yyyy += 1900;
    }
    var mm = (month * 1) -1;
    var dd
    if (date){
    dd = date * 1;
    }else{
    dd = 1;
    } var objDate = new Date(yyyy, mm, dd);
    if (objDate.getFullYear() == yyyy && objDate.getMonth() == mm && objDate.getDate() == dd){
    return true
    }else{
    return false;
    }
    }
    <asp:customvalidator id="dataCustomValidator" runat="server" ControlToValidate="txtDate" ClientValidationFunction="validateDate"></asp:customvalidator>YYMMDD用customvalidator 验证控件.将它的ClientValidationFunction设置成下面的javascript函数
    注意arguments能自动的取得要验证的文本的值.然后设置errmsg就可以了.function validateDate(source, arguments)
    {
    var tbDateValue = arguments.Value;

    if(tbDateValue.length != 6)
    {
        arguments.IsValid = false;
                        return;
    }
    else
    {

        var year = tbDateValue.substring(0,2);
        var month = tbDateValue.substring(2,4);
        var day = tbDateValue.substring(4,6);
        if(!isValidDate(year,month,day))
        {
            arguments.IsValid = false;
        return;
        }
    }
    arguments.IsValid = true;
    return;
    }
      

  2.   

    建议在数据库里就保存yyyy-mm-dd,这种形式的数据
      

  3.   

    利用验证控件 
    \d{4}-(\d{2}|\d{1})-(\d{2}|\d{1})