Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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 获取jQuery中未终止字符类的错误_Javascript_Jquery - Fatal编程技术网

Javascript 获取jQuery中未终止字符类的错误

Javascript 获取jQuery中未终止字符类的错误,javascript,jquery,Javascript,Jquery,未捕获的语法错误:无效的正则表达式:/[/:未终止的字符类未捕获的语法错误:无效的正则表达式:/[/:未终止的字符类 // Searching in ListBox $('#Search').keyup(function () { var valThis = $(this).val().toUpperCase(); $('#lstDCU > option').each(function () { var itemText

未捕获的语法错误:无效的正则表达式:/[/:未终止的字符类未捕获的语法错误:无效的正则表达式:/[/:未终止的字符类

 // Searching in ListBox
    $('#Search').keyup(function () {
        var valThis = $(this).val().toUpperCase();

        $('#lstDCU > option').each(function () {
            var itemText = $(this).text().toUpperCase();
            ((itemText.search(valThis) != -1) ? $(this).show() : $(this).hide());
        });
    });

是的,这是一个运行时错误

该方法需要一个正则表达式作为其参数,但如果要传递字符串,则应为正则表达式特殊字符(如
^、|
等)对其进行转义

if (!RegExp.escape) {
    RegExp.escape = function (value) {
        return value.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&")
    };
}

$('#Search').keyup(function () {
    var valThis = RegExp.escape($(this).val().toUpperCase());

    $('#lstDCU > option').each(function () {
        var itemText = $(this).text().toUpperCase();
        ((itemText.search(valThis) != -1) ? $(this).show() : $(this).hide());
    });
});

演示:

我不认为它来自此代码…如果是,那么在源文件中有一些不可见的字符,我得到了错误((itemText.search(valThis)!=-1)?$(this.show():$(this.hide());它只对$,[,^等特殊字符抛出错误