Remy Sharp's jQuery tag suggestion plugin的当前实现仅检查标签开头的匹配项。例如,输入“Photoshop”将不会返回名为“Adobe Photoshop”的标签。如何使用依赖变量的模式执行Javascript匹配?
默认情况下,搜索区分大小写。我稍微修改了它修剪多余的空间和忽略大小写:
for (i = 0; i < tagsToSearch.length; i++) {
if (tagsToSearch[i].toLowerCase().indexOf(jQuery.trim(currentTag.tag.toLowerCase())) === 0) {
matches.push(tagsToSearch[i]);
}
}
我试图做的就是再次修改这能够返回“Adobe Photoshop的”,当用户键入“Photoshop中”。我一直在使用match
试过,但我似乎无法得到它的工作当一个变量出现在模式:
for (i = 0; i < tagsToSearch.length; i++) {
var ctag = jQuery.trim(currentTag.tag);
if (tagsToSearch[i].match("/" + ctag + "/i")) { // this never matches, presumably because of the variable 'ctag'
matches.push(tagsToSearch[i]);
}
}
什么是执行以这种方式正则表达式搜索正确的语法?