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]);
}
}
私がやろうとしたことは、ユーザーが「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]);
}
}
この方法で正規表現検索を実行する正しい構文は何ですか?