首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >显示错误的日期格式验证

显示错误的日期格式验证
EN

Stack Overflow用户
提问于 2013-11-16 07:17:22
回答 2查看 157关注 0票数 0

我在我的项目中使用了日期格式表达式。我在Javascript中使用过它,它运行得很好。但是,当我在服务器端使用它时,它给了我一个错误,即Unrecognized Escape Sequence。我的格式如下。连我都试过雷吉斯。但还是不起作用。我的格式如下。

代码语言:javascript
运行
复制
  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;
    }
    }

}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-16 07:30:31

您的代码看起来像C#。编辑从JavaScript获取的正则表达式:省略前面和后面的斜杠(和分号) (/.../;)。从剩余的斜杠中删除转义(/而不是\/)。使用逐字字符串文字(@"..."),这样就不需要添加额外的转义。

代码语言: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; }
票数 2
EN

Stack Overflow用户

发布于 2013-11-16 07:49:59

对于任何时间/日期的需求,我发现http://www.datejs.com是一个真正的帮助。特别是当尝试接受日期输入并验证它们时。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20015903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档