Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 日期格式验证出现错误_Javascript_Asp.net_Regex_Date Format_Server Side Validation - Fatal编程技术网

Javascript 日期格式验证出现错误

Javascript 日期格式验证出现错误,javascript,asp.net,regex,date-format,server-side-validation,Javascript,Asp.net,Regex,Date Format,Server Side Validation,我在我的项目中使用了日期格式表达式。我在Javascript中使用过它,它工作得很好。但是当我在服务器端使用它时,它给了我一个错误,无法识别的转义序列。我的格式如下。甚至我也试过Regex。但仍然不起作用。我的格式如下 protected void txt_duedate_validate_server(object source, ServerValidateEventArgs args) { string duedate = txtduedate.Text.Trim();

我在我的项目中使用了日期格式表达式。我在Javascript中使用过它,它工作得很好。但是当我在服务器端使用它时,它给了我一个错误,
无法识别的转义序列
。我的格式如下。甚至我也试过Regex。但仍然不起作用。我的格式如下

  protected void txt_duedate_validate_server(object source, ServerValidateEventArgs args)
{
    string duedate = txtduedate.Text.Trim();
    if (duedate == string.Empty || duedate == "Due Date")
    {
        args.IsValid = false;
        return;

    }
    else
    {
        string fromdatePat =  "/^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((19|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/;";
        Regex re = new Regex(fromdatePat);

        string compare=srqstdate.match(fromdatePat);
        if(compare==null)
        {
            args.IsValid = false; 
            return false;
    }
    }

}
您的代码看起来像C#。编辑取自JavaScript的正则表达式:省略开头和结尾的斜杠(和分号)(
/…/;
)。删除剩余斜杠中的转义(
/
而不是
\/
)。使用逐字字符串文本(
@“…”
),这样就不需要添加额外的转义

string fromdatePat = @"^(((0[1-9]|[12]\d|3[01])/(0[13578]|1[02])/((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)/(0[13456789]|1[012])\/((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])/02/((19|[2-9]\d)\d{2}))|(29/02/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))";
Regex re = new Regex(fromdatePat);
if (!re.IsMatch(srqstdate)) { args.IsValid = false; }

对于任何时间/日期要求,我都能找到真正的帮助。特别是在尝试接受日期输入并验证它们时。

不像@SlartyBartfast那样