4

我正在使用下面的正则表达式来验证文本区域中的任何 html 标签,如果有人在文本区域中输入任何 html 标签,我必须显示验证消息,

使用正则表达式:

/<(\w+)((?:\s+\w+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/

有人可以解释上面的正则表达式吗,我正在根据文本区域中的任何 html 标签对其进行验证,它适用于所有情况,但以下 CASE 未验证,

</p>在没有任何客户端验证的情况下通过我不希望用户甚至输入结束 HTML 标记

4

2 回答 2

3

我会像这样执行这种验证:

var d = document.createElement('div');
d.innerHTML = 'whatever </p>';

if (d.getElementsByTagName('*').length) {
    alert("You have typed some HTML");
}
于 2013-07-04T07:46:38.220 回答
1

请试试 -

Regx 限制 html 标签 -

/([\<])([^\>]{1,})*([\>])/i

或者

/<(.|\n)*?>/g

例子

于 2013-07-04T07:47:15.283 回答