我有一个脚本,作为一个筛选器,根据用户输入的内容从页面中删除元素,当用户键入一个关键字到列表中时,过滤效果很好,
一个用户输入我的样子,
听着,妈,这些是,关键词,砰
以及你的输出
在单击其中一个列表项时,我从列表和用户输入中删除它,我的问题是那些检测到是否和关键字一样,我还需要删除一个逗号后的单词。有什么方法可以搜索我是否也需要删除一个逗号,我的当前脚本是这样的,
$(document).on("click", ".remove-tag", function(e){
e.preventDefault();
$(this).parent().animate({
"width" : "0px",
"overflow" : "hidden"
}, 500, function(){
$(this).remove();
var str = $("#options_1").val();
console.log(str);
var newStr = str.replace($(this).text(), "");
console.log(newStr);
$("#options_1").val("");
$("#options_1").val(newStr);
});
});发布于 2013-05-15 12:49:04
通过拆分和过滤,没有正则表达式:
var newStr = str.split(',').filter(function(n){return n.trim()}).join(',');FIDDLE
发布于 2013-05-15 12:48:46
您可以使用regex ,? (可选地匹配, )来完成这一任务。
var newStr = str.replace("\s*"+$(this).text()+"\s*,?", "");\s匹配一个space。
*是一个量词,它将前面的字符0匹配到多个times..so \s*表示匹配0到多个空格。
https://stackoverflow.com/questions/16565355
复制相似问题