相关疑难解决方法(0)

如何使用依赖于变量的模式执行Javascript匹配?

Remy Sharp的jQuery标签建议插件的当前实现仅检查标签开头的匹配.例如,键入"Photoshop"将不会返回名为"Adobe Photoshop"的标记.

默认情况下,搜索区分大小写.我稍微修改了它以修剪多余的空格并忽略大小写:

for (i = 0; i < tagsToSearch.length; i++) {
    if (tagsToSearch[i].toLowerCase().indexOf(jQuery.trim(currentTag.tag.toLowerCase())) === 0) {
        matches.push(tagsToSearch[i]);
    }
}
Run Code Online (Sandbox Code Playgroud)

我试图做的是再次修改它,以便当用户键入"Photoshop"时能够返回"Adobe 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]);
    }
}
Run Code Online (Sandbox Code Playgroud)

以这种方式执行正则表达式搜索的正确语法是什么?

javascript regex autocomplete match

3
推荐指数
1
解决办法
6837
查看次数

标签 统计

autocomplete ×1

javascript ×1

match ×1

regex ×1