设置正则表达式以测试包含 HTML 标记的输入文本

Setting regular expression to test input text which contain HTML markup

本文关键字:输入 文本 HTML 正则表达式 测试 包含 设置      更新时间:2023-09-26

我正在尝试创建一种模式来防止用户输入HTML标记。我创造了这个图案

var htmlTagRegex = /^<+[a-z]+>/;

仅当输入以 HTML 标记开头时才有效,例如:

<br /> Test
<p> Test
<div> Test

但是在有如下输入的情况下

Test <br /> 
Test <p> 
Test <div> 

模式不起作用(可能是因为/^)。如何编写模式以考虑任何 html 标记包含?

^(?=.*(?:<[^>]+>)).*$

您可以使用它来检测 html 标记。请参阅演示。

http://regex101.com/r/lZ5mN8/43

现在我的问题是你能告诉我如何为模式提供动力以考虑任何 HTML 标签包含吗?

<'w+'b[^<>]*>

对于匹配自定义标记,

<[^<>]+>

匹配包含标签的整行。你不需要去寻找周围的断言。

^.*?<[^<>]+>.*$

演示

仅供参考

在jQuery中,如果你想单独提取文本而不带html标记,那么你可以使用这样的模式

$("<div/>").html("#elementId").text()