fix(monitors search): Make sure regex expressions are escaped.

This can be reverted if the search should be regex friendly, but for the moment, it's not the case.
Thanks @homelab-alpha!
pull/5438/head
Ionys 4 days ago
parent d0d03c05d6
commit c0d7171dbf

@ -325,7 +325,11 @@ export default {
let searchTextMatch = true; let searchTextMatch = true;
if (this.searchText !== "") { if (this.searchText !== "") {
try { try {
const regex = new RegExp(this.searchText, "i"); // "i" for case-insensitive matching // Escape special characters for use in the regular expression
const escapeRegExp = (string) => string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
const escapedSearchText = escapeRegExp(this.searchText);
const regex = new RegExp(escapedSearchText, "i");
const safeRegexTest = (str) => str && regex.test(str); const safeRegexTest = (str) => str && regex.test(str);

Loading…
Cancel
Save