繁体   English   中英

如何在 ASP.NET MVC 模型验证中检查字符串是否包含 HTML 代码?

[英]How to check if a string contains HTML code in ASP.NET MVC model validation?

我有一个模型字符串,它看起来像:

bla bla bla <b>asdad</b> bla bla bla bla <u>bla</u> ...

我的型号:

public class MyModel {
      [RegularExpression( @"^(<\s*([^ >]+)[^>]*>.*?<\s*\/\s*\1\s*>)$", ErrorMessage = "No tag is allowed !")]
      public string Text { get; set; }
}

我试图否定上面的正则表达式(我知道我没有正确使用,我不知道如何正确地做到这一点)

Text包含任何匹配的 HTML 代码时,我想显示错误,即使它没有关闭标签,遇到时应该发生:

<b>没有</b>

</b>或类似

如何使用正则表达式实现这一目标?

这是正则表达式:

<(\s*[(\/?)\w+]*)

它检查是否存在单个结束标记或开始标记,它是否匹配。

演示在这里

如果模型字符串不包含 HTML 标签,则以下正则表达式匹配:

^((?!\<(|\/)[a-z][a-z0-9]*>).)*$

演示在这里

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM