Javascript 用逗号分隔的Jquery搜索字符串

Javascript 用逗号分隔的Jquery搜索字符串,javascript,jquery,regex,Javascript,Jquery,Regex,我试图用jquery搜索文本中是否有任何输入的值用逗号分隔 我使用了下面的代码。如果过滤器类似于a,b,它工作正常,但如果过滤器是a,b,它将失败。如果逗号后有空格,则失败。有没有修剪和搜索的选项 var filter = $(this).val().toString().toLowerCase().replace(/,/g, "|") if ($(this).text().toLowerCase().search(new RegExp(filter, "i")) >= 0) {

我试图用jquery搜索文本中是否有任何输入的值用逗号分隔

我使用了下面的代码。如果过滤器类似于a,b,它工作正常,但如果过滤器是a,b,它将失败。如果逗号后有空格,则失败。有没有修剪和搜索的选项

var filter = $(this).val().toString().toLowerCase().replace(/,/g, "|")

if ($(this).text().toLowerCase().search(new RegExp(filter, "i")) >= 0) {
    alert('found')
}
您可以对以下字符串使用
replace()
方法:

$(this).val().toString().replace(", ", "|").replace(" ,", "|")
或者使用正则表达式替换

$(this).val().toString().replace("/\s*,\s*/g", "|")
您可以对以下字符串使用
replace()
方法:

$(this).val().toString().replace(", ", "|").replace(" ,", "|")
或者使用正则表达式替换

$(this).val().toString().replace("/\s*,\s*/g", "|")

只需在filterjQuery中使用
.replace(/\s*,\s*/g,“|”)即可
,它是一个DOM遍历和实用程序库,而不是字符串处理库。是用于执行搜索的纯javascript功能。对于
.text().toLowerCase().search(新RegExp(filter,“i”))
,同时使用
toLowerCase
i
(忽略大小写)标志是多余的。您可以省略
.toLowerCase()
@HarshSanghani这个问题应该始终是自包含的,添加一个指向类似于jsfiddle的游乐场的链接是一个不错的补充,但是对于给定的示例来说,它不是必需的。除此之外,SO还提供了一个代码片段工具,用于提问和回答。@HarshSanghani添加了注释,因为仍然有许多人在这里提问,只发布到JSFIDLE或类似的链接,而没有将代码添加到问题本身,但这是不可取的。当我添加我的注释时,已经有了一个解决方案,一个作为注释,一个作为答案,所以没有必要再添加一个,而且你也没有这样做,那么为什么允许你记录一些东西而我没有呢?只需使用
。filterjQuery中的replace(/\s*,\s*/g,“|”)是一个DOM遍历和实用程序库,而不是字符串处理库。是用于执行搜索的纯javascript功能。对于
.text().toLowerCase().search(新RegExp(filter,“i”))
,同时使用
toLowerCase
i
(忽略大小写)标志是多余的。您可以省略
.toLowerCase()
@HarshSanghani这个问题应该始终是自包含的,添加一个指向类似于jsfiddle的游乐场的链接是一个不错的补充,但是对于给定的示例来说,它不是必需的。除此之外,SO还提供了一个代码片段工具,用于提问和回答。@HarshSanghani添加了注释,因为仍然有许多人在这里提问,只发布到JSFIDLE或类似的链接,而没有将代码添加到问题本身,但这是不可取的。在我添加我的评论时,已经有了一个解决方案,一个作为评论,一个作为答案,所以没有必要再添加一个,除此之外,你也没有这样做,那么为什么允许你记录一些东西而我没有?