gpt4 book ai didi

asp.net-mvc - 用于文件名验证的 View 模型中的 ASP.net MVC 正则表达式

转载 作者:行者123 更新时间:2023-12-02 22:04:30 27 4
gpt4 key购买 nike

我已经阅读了几个回答这个问题的问题,并且我理解我需要使用的正则表达式,但是在 MVC 中实际应用它是我遇到的问题。我还要先说到目前为止,我对正则表达式很糟糕。

我正在用 MVC 编写一个文件上传应用程序,我想应用标准的 Windows 文件名验证。 \/:*?"<>|名称中任何位置的无效字符。

我的 View 模型是这样设置的,使用我发现的不同的正则表达式:

    public class FileRenameModel
{
[RegularExpression(@"^[\w\-. ]+$", ErrorMessage="A filename cannot contain \\ / : * ? \" < > |")]
[Required]
public string Filename { get; set; }
[Required]
public int FileID { get; set; }
}

每当我尝试将正则表达式更改为 @"^[\\/:?"<>|]+$中间的 "杀死它并抛出错误。我还没有想出如何正确地转义它以便我可以将它包含在字符串中。当我使用没有 "的正则表达式时它会告诉我我放入的任何字符串文本框失败。我在使用 ^ 吗?不正确?

最佳答案

使用双 ""在以 @ 开头的字符串后转义引号.

要搜索任何内容,除非您想插入额外的 ^在括号内创建一个匹配项除外:@"^[^\\/:?""<>|]+$"保留 ^在开头以及匹配行的开头。

话虽如此,请记住浏览器以不同方式处理文件名的验证。一些较旧的浏览器会发送路径和文件名,这可能会破坏您对合法文件的验证。

关于asp.net-mvc - 用于文件名验证的 View 模型中的 ASP.net MVC 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16344492/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com