Javascript 允许使用正则表达式使用小于和大于符号,但不允许使用HTML标记
我使用下面的表达式来测试我的字符串Javascript 允许使用正则表达式使用小于和大于符号,但不允许使用HTML标记,javascript,jquery,regex,asp.net-mvc,Javascript,Jquery,Regex,Asp.net Mvc,我使用下面的表达式来测试我的字符串 var ValueExpression = new RegExp('^[0-9a-zA-Z<>& _-]+$'); var-ValueExpression=new RegExp('^[0-9a-zA-Z&-]+$); 这里我只想允许0-9、a-z、a-z、、&、u和空格()。现在我想限制输入中的html标记。我该怎么做 谢谢,你可以试试这个 var regex =/<(.|\n)*?>/g; if (regex.test
var ValueExpression = new RegExp('^[0-9a-zA-Z<>& _-]+$');
var-ValueExpression=new RegExp('^[0-9a-zA-Z&-]+$);
这里我只想允许0-9、a-z、a-z、、&、u
和空格(
)。现在我想限制输入中的html标记。我该怎么做
谢谢,你可以试试这个
var regex =/<(.|\n)*?>/g;
if (regex.test($('#inputField').val()) == true) {
var ErrorText ='We do not allow HTMLTAGS';
alert(ErrorText);
}
var regex=//g;
if(regex.test($('#inputField').val())==true){
var ErrorText='我们不允许HTMLTAGS';
警报(错误文本);
}
您可以使用正则表达式
匹配[\dA-z&
,0-9
,a-z
,a-z
,&
,-
和空格-
并由字母字符包围,则我的正则表达式将失败。
First-Second正则表达式是javascript的一部分,而不是jquery。@gabykag.Petrioli OP似乎不想与HTML匹配,全能的//以下正则表达式需要一个字母(或一个结束斜杠,然后是一个字母) //紧接着打开支架。这将捕获所有HTML标记 //我能想到的。。。 var regex=//g; if(regex.test($('#inputField').val())==true){ var ErrorText='我们不允许HTMLTAGS'; 警报(错误文本); }
答案并不适合这里。@Zenoo我认为它也适用于这里。由于OP希望使用正则表达式删除标记(可能是为了避免XSS攻击),因此必须考虑可能应用于标记的所有特性(编码技巧等)。@gabykag.PetrioliHTML=NO REGEX
让我觉得OP不想删除任何内容,只是不匹配任何HTML字符串。javascript不支持lookbehinds。它有帮助。这里如果我测试“a>b,a2,12,a@VishalBhatt如果您的字符串包含^$
// 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); }