MVC 中的正则表达式验证失败

Regular Expression validation fails in MVC

我在 MVC 中使用 DataAnnotations 来验证 PAN 卡号。如果我在 https://regex101.com/ 上在线检查我的表达式,它会正确执行。但是当我在我的应用程序中尝试它时,它给出了如下图所示的错误消息。

我不明白为什么会失败。好吧,我已经使用以下代码在模型中实现了这一点。那么我该如何实现呢?

[DisplayName("PAN Number")]
[Required(ErrorMessage = "* Please Enter PAN No.")]
[RegularExpression(@"/[A-Z]{5}\d{4}[A-Z]{1}/", ErrorMessage = "* Invalid PAN Number")]
public string US_PAN { get; set; }

.NET 中的正则表达式不需要包含在 // 对中。

regex101 默认使用 php 风格的正则表达式——这就是为什么它需要用 //.

括起来的正则表达式

所以你的属性应该只是

[RegularExpression(@"[A-Z]{5}\d{4}[A-Z]{1}", ErrorMessage = "* Invalid PAN Number")]