繁体   English   中英

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

[英]allow less than and greater than sign but not HTML Tag using regular expression

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

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

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

谢谢,

你可以试试这个

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

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

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

  • [\\dA-z& _-]匹配0-9azAZ&-_和一个空格

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

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

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

演示

// 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);
}

暂无
暂无

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

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