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