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

标签 c# regex asp.net-mvc

我有一个模型字符串,如下所示:

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+]*)

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

DEMO here

关于c# - 如何在 ASP.NET MVC 模型验证中检查字符串是否包含 HTML 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35699994/

相关文章:

php - 仅从字符串返回 0-9 和破折号

c# - 无法读取 Startup.cs 中 JSON 文件的设置

modelstate - 没有 Entity Framework 的asp.net mvc

asp.net-mvc - 具有可为空 Guid 的 Web Api GET 方法可能吗?

c++ - 需要一个正则表达式来仅从字符串中提取字母和空格

c# - 如何用图像中的其他颜色替换像素颜色?

c# - 在c#中使用Prepare语句的好处

c# - 在后台进行 UI 工作

javascript - xxxx.xxx.xxx 的正则表达式

c# - 将文件写入名称递增的路径