diff options
Diffstat (limited to 'script.js')
-rw-r--r-- | script.js | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -21,10 +21,15 @@ function normalize(str) { return str.toLowerCase().replaceAll('_', ' ') } +function escapeForRegex(str) { + return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') +} + function display(proposals) { const params = {}; if (nameInput.value) { - proposals = proposals.filter(p => normalize(p.name || p.page_title).includes(normalize(nameInput.value))); + const regex = new RegExp('\\b' + escapeForRegex(normalize(nameInput.value))); + proposals = proposals.filter(p => regex.test(normalize(p.name || p.page_title))); params.q = nameInput.value; } |