【问题标题】:javascript invalid regular expression invalid groupjavascript 无效正则表达式无效组
【发布时间】:2015-02-11 13:37:17
【问题描述】:

我花了一整天的时间试图修复这个正则表达式,但无法知道错误到底在哪里。

我在使用正则表达式属性的 mvc 模型中使用以下内容,但是当我在我的 javascript 文件中执行有效表单时,它会抛出以下错误“Uncaught SyntaxError: Invalid regular expression: Invalid group”。

这是我的正则表达式。

        [Display(Name = "Acct_Email", ResourceType = typeof(MyResource))]
        [Required(ErrorMessageResourceType = typeof(MyResource), ErrorMessageResourceName = "Acct_EmailReq")]
        [RegularExpression(@"^(?("")("".+?""@)|(([0-9a-zA-Z-!#\$%/_'\*\+/=\?\^`\{\}\|~]((\.(?!\.))|[-!#\$%/_'\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-zA-Z-!#\$%/_'\*\+/=\?\^`\{\}\|~])@))(?(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-zA-Z][-\w]*[0-9a-zA-Z]*\.)+[a-zA-Z]{2,6}))$", ErrorMessageResourceType = typeof(MyResource), ErrorMessageResourceName = "Acct_EmailLength")]
        public string Email { get; set; }

请帮忙。提前致谢。

【问题讨论】:

标签: javascript jquery .net regex asp.net-mvc-4


【解决方案1】:

在正则表达式的开头:@"^(?(""),我猜你的意思是:

@"^(?:("")

对于非捕获组。

【讨论】:

    【解决方案2】:

    @JeSuisCharlie 是正确的,但他错过了一个。中途还需要另一个冒号。这是添加了冒号的完整正则表达式:

    ^(?:("")("".+?""@)|(([0-9a-zA-Z-!#\$%/_'\*\+/=\?\^`\{\}\|~]((\.(?!\.))|[-!#\$%/_'\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-zA-Z-!#\$%/_'\*\+/=\?\^`\{\}\|~])@))(?:(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-zA-Z][-\w]*[0-9a-zA-Z]*\.)+[a-zA-Z]{2,6}))$
    

    【讨论】:

    • 在使用上述正则表达式后,我仍然收到以下错误 Uncaught SyntaxError: Invalid regular expression: /^(?:(")(".+?"@)|(([0-9a -zA-Z-!#\$%/_'*\+/=\?\^\{\}\|~]((\.(?!\.))|[-!#\$%/_'\*\+/=\?\^\{\}\|~\w])*)(?
    • 你能告诉我如何在javascript中使用这个提到的正则表达式吗?
    猜你喜欢
    • 1970-01-01
    • 2022-01-25
    • 2011-05-11
    • 1970-01-01
    • 2013-12-02
    • 2020-09-02
    • 2011-08-09
    • 2011-04-12
    • 1970-01-01
    相关资源
    最近更新 更多