如何在asp.net mvc中使用数据注释否定RegEx匹配

本文关键字:注释 数据 匹配 RegEx asp net mvc | 更新日期: 2023-09-27 18:26:16

我有这个表达式

[RegularExpression(@"(https?://)?(['da-z.-]+)'.([a-z.]{2,6})([/'w .-]*)*/?", ErrorMessage = "Message cannot contain urls")]

它按预期检测url,但我需要它做相反的事情。如果我没有在字段中输入url,验证只是一个警告。我需要它给我一个警告,如果它检测到网址说网址和链接是不允许的。

如何在asp.net mvc中使用数据注释否定RegEx匹配

^(?!.*?(https?://)?(['da-z.-]+)'.([a-z.]{2,6})([/'w .-]*)*/?).*$

试试这个。这将与url不匹配。请参阅演示。

http://regex101.com/r/vR4fY4/8

使用负前瞻?!

例如(?!abc)

数学hello,但与abc 不匹配

因此您的正则表达式必须修改为

"^(?!(https?://)?(['da-z.-]+)'.([a-z.]{2,6})([/'w .-]*)*/?)$"