Javascript 不允许使用特殊字符jQuery

Javascript 不允许使用特殊字符jQuery,javascript,jquery,logic,Javascript,Jquery,Logic,有一些错误,你们能告诉我我做错了什么吗 function verifyGroup(groupVal, errorid) { groupVal = $.trim(groupVal); if (groupVal != '') { var splChars = "*|,\":<>[]{}`\';()@&$#%!+-"; for (var i = 0; i < groupVal.length; i++) {

有一些错误,你们能告诉我我做错了什么吗

function verifyGroup(groupVal, errorid) {

    groupVal = $.trim(groupVal);

    if (groupVal != '') {

        var splChars = "*|,\":<>[]{}`\';()@&$#%!+-";
        for (var i = 0; i < groupVal.length; i++) {
            console.log(groupVal.charAt(i)+' == '+splChars.indexOf(groupVal.charAt(i)));

            if (splChars.indexOf(groupVal.charAt(i)) != -1) {

                $("#" + errorid).addClass("form-error").html("Illegal characters detected!");
                return false;
            } else {
                $("#" + errorid).removeClass("form-error").html("");
                return true;
            }
        }
    } else {
        $("#" + errorid).addClass("form-error").html("Group name should not be empty");
        return false;
    }
}
函数验证组(groupVal,errorid){
groupVal=$.trim(groupVal);
如果(groupVal!=''){
var splChars=“*|,\”:[]{}`\';()@&$\\%!+-”;
对于(变量i=0;i
函数验证组(groupVal,errorid){
groupVal=$.trim(groupVal);
console.log(groupVal);
console.log(errorid);
如果(groupVal!=''){
var regex=/[*|,\\”:\[\]{}`';()@&$\\%!+-]/;
if(正则表达式测试(groupVal)){
$(“#”+errorid).addClass(“表单错误”).html(“检测到非法字符!”);
返回false;
}否则{
$(“#”+errorid).removeClass(“表单错误”).html(“有效”);
返回true;
}
}否则{
$(“#”+errorid).addClass(“表单错误”).html(“组名不应为空”);
返回false;
}
}
$(函数(){
//调用了.ready()的处理程序。
$(“#提交”)。单击(函数(){
verifyGroup($('ipId_create').val(),'error_id');
});
});

演示:

-1
的比较应该是
=
而不是
=

这应该是一个评论。嘿,伙计,非常感谢,它工作得很好,但我想知道,1。我犯了什么错,因为indexOF应该起作用。2.IS.test()将始终适用于此类验证。@SAM这是因为
索引
条件的
部分中的
返回true
。看问题是如果第一个字符不是一个特殊的字符,你不继续测试。。。这才是真的