Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.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 如何搜索文本并忽略文本中的空格?_Javascript_Jquery - Fatal编程技术网

Javascript 如何搜索文本并忽略文本中的空格?

Javascript 如何搜索文本并忽略文本中的空格?,javascript,jquery,Javascript,Jquery,我有一个下面的jQuery,它搜索表行中的文本,效果很好。问题是,在搜索某些文本时,我想忽略/删除空格,例如:我想在表格中查找: 'John Smith' 但当我在搜索栏中键入:Johnsmith时,并没有找到记录。因此,我想删除jQuery代码中的空格,以查找忽略空格的任何文本。这是我的jQuery,带有注释代码,删除了空格,但不起作用: $('document').ready(function() { $('#search').keyup(function() {

我有一个下面的jQuery,它搜索表行中的文本,效果很好。问题是,在搜索某些文本时,我想忽略/删除空格,例如:我想在表格中查找:

'John Smith'
但当我在搜索栏中键入:Johnsmith时,并没有找到记录。因此,我想删除jQuery代码中的空格,以查找忽略空格的任何文本。这是我的jQuery,带有注释代码,删除了空格,但不起作用:

$('document').ready(function() {
    $('#search').keyup(function() {
        search_table($(this).val());
    });

    function search_table(value) {
        $('table .rows').each(function() {
            var found = 'false';
            $(this).each(function () {               
                //if ($(this).text().replace(" ", "").toLowerCase().indexOf(value.toLowerCase()) >= 0) {
                if ($(this).text().toLowerCase().indexOf(value.toLowerCase()) >= 0) {
                    found = 'true';
                }
            });

            if (found == 'true') {
                $(this).show();
            } else {
                $(this).hide();
            }
        });
    }
});
使用
.replace(//g,”)
替换所有空格(空格组)

使用
.replace(//g,”)
替换所有空格(空格组)


.toLowerCase().replace(+/,“”)
(将一个或多个空格替换为
“”
)如何删除字符串中的空格并不难搜索。String.replace并不像您使用它的方式“replaceAll”。在许多语言中
“1 2 3 4”。replace(“,”)==“1234”
-所以这是一个合理的预期,但不是在javascript中(快速测试会显示它没有按预期工作)。无需
+
只需
.replace(//g,“”)
即可。稍微相关:您可能还希望从搜索输入中删除空格,否则搜索“john smith”的人将找不到“john smith”
.toLowerCase().replace(+/,“”)
(将一个或多个空格替换为
“”
)如何删除字符串中的空格并不难搜索。String.replace并不像您使用它的方式“replaceAll”。在许多语言中
“1 2 3 4”。replace(“,”)==“1234”
-所以这是一个合理的预期,但不是在javascript中(快速测试会显示它没有按预期工作)。无需
+
只需
.replace(//g,“”)
即可。稍微相关:您可能还希望从搜索输入中删除空格,否则搜索“john smith”的人将找不到“john smith”!谢谢,您的解决方案效果最佳!不需要
+
只要
.replace(//g,”)
就足够了。(没有理由不拥有它,只是添加了一些信息)@freedomn-m,是的,你是对的,谢谢你的精确性..谢谢,你的解决方案效果最好!不需要
+
只要
.replace(//g,”)
就足够了。(没有理由不拥有它,只是添加了一些信息)@freedomn-m,是的,你是对的,谢谢你的精确性。。
            if ($(this).text().toLowerCase().replace(/ +/g,"").indexOf(value.toLowerCase()) >= 0) {
                found = 'true';
            }