【问题标题】:ASP.NET MVC Regular Expression for Username is not working correctly. or Convert Regex->JS用户名的 ASP.NET MVC 正则表达式无法正常工作。或转换正则表达式-> JS
【发布时间】:2012-09-08 20:58:32
【问题描述】:

我已经从一个站点添加了一个正则表达式来验证用户名,它应该可以工作,但它在编译时给出了一些错误。请看图片,然后我用谷歌搜索并了解到很少有像 '\w' 这样的字符不起作用,因为 js 不支持它。现在我不知道如何转换它,任何人都可以帮助将它转换为可使用 ASP.NET MVC 数据注释。

[RegularExpression("^([a-zA-Z])[a-zA-Z_-]*[\w_-]*[\S]$|^([a-zA-Z])[0-9_-]*[\S]$|^[a-zA-Z]*[\S]$")]

提前谢谢大家。

【问题讨论】:

    标签: c# regex asp.net-mvc-3 c#-4.0 data-annotations


    【解决方案1】:

    通过在开头引号前添加 @ 符号使您的字符串成为文字。否则,您需要转义字符串包含的所有反斜杠。这会使像这样的正则表达式的可读性更差。

    [RegularExpression(@"^([a-zA-Z])[a-zA-Z_-]*[\w_-]*[\S]$|^([a-zA-Z])[0-9_-]*[\S]$|^[a-zA-Z]*[\S]$")]
    

    文字字符串使您可以使用特殊字符,例如 反斜杠或双引号,而无需使用特殊代码或 转义字符。这使得文字字符串成为文件路径的理想选择 自然包含许多反斜杠。要创建文字字符串, 在字符串的开头引号之前添加 at-sign @

    【讨论】:

    • 好的 .. 非常感谢。它应该在客户端验证上工作吗?
    • 非常感谢......它工作得很好......是否可以在手动编程中检查这个正则表达式匹配......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-08
    • 2017-12-29
    • 2012-05-25
    • 2016-05-09
    相关资源
    最近更新 更多