允许小于和大于符号,但不允许使用正则表达式的HTML标记

时间:2018-03-21 12:34:21

标签: javascript jquery regex asp.net-mvc

我正在使用以下表达式来测试我的字符串。

var ValueExpression = new RegExp('^[0-9a-zA-Z<>& _-]+$');

这里我想只允许0-9,a-z,A-Z,<,>,&,-,_和空格()。现在我想在输入中限制html标签。我该怎么做?

谢谢,

3 个答案:

答案 0 :(得分:0)

你可以试试这个

var regex =/<(.|\n)*?>/g; 

if (regex.test($('#inputField').val()) == true) {
    var ErrorText ='We do not allow HTMLTAGS';
    alert(ErrorText);
}

答案 1 :(得分:0)

您可以使用RegEx ^([\dA-z& _-]|<(?![A-z])|(?<=[^A-z])>)+$

  • [\dA-z& _-]匹配0-9a-zA-Z&-_和空格

  • <(?![A-z])匹配<如果后面没有字母字符

  • (?<=[^A-z])>匹配>,如果后面没有字母字符。

这会阻止任何HTML标记匹配。

Demo.

答案 2 :(得分:0)

// THE FOLLOWING REGEX REQUIRES A LETTER (OR A CLOSING SLASH, THEN A LETTER)
// IMMEDIATELY AFTER THE OPENING BRACKET. THIS SHOULD CATCH ALL HTML TAGS
// THAT I CAN THINK OF...

var regex = /<(\/?[a-z].)*?>/g;

if (regex.test($('#inputField').val()) == true) {
    var ErrorText ='We do not allow HTMLTAGS';
    alert(ErrorText);
}