Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 允许使用正则表达式使用小于和大于符号,但不允许使用HTML标记_Javascript_Jquery_Regex_Asp.net Mvc - Fatal编程技术网

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
    &
    -
    -
    和空格

  • //以下正则表达式需要一个字母(或一个结束斜杠,然后是一个字母)
    //紧接着打开支架。这将捕获所有HTML标记
    //我能想到的。。。
    var regex=//g;
    if(regex.test($('#inputField').val())==true){
    var ErrorText='我们不允许HTMLTAGS';
    警报(错误文本);
    }
    
    First-Second正则表达式是javascript的一部分,而不是jquery。@gabykag.Petrioli OP似乎不想与HTML匹配,全能的
    HTML=NO REGEX
    答案并不适合这里。@Zenoo我认为它也适用于这里。由于OP希望使用正则表达式删除标记(可能是为了避免XSS攻击),因此必须考虑可能应用于标记的所有特性(编码技巧等)。@gabykag.Petrioli
    ^$
    让我觉得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);
    }