From bd2551559b23d779af17730585ae1bd92617d830 Mon Sep 17 00:00:00 2001 From: Book Pauk Date: Fri, 9 Dec 2022 18:31:41 +0700 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B1=D0=B0=D0=B3=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=B8=D1=81=D0=BA=D0=B0=20=D0=BF=D0=BE=20=D1=80?= =?UTF-8?q?=D0=B5=D0=B3.=20=D0=B2=D1=8B=D1=80=D0=B0=D0=B6=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/components/Search/BaseList.js | 4 ++-- server/core/DbSearcher.js | 8 ++++---- server/core/opds/BasePage.js | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/client/components/Search/BaseList.js b/client/components/Search/BaseList.js index 0a8113f..ddc7b9d 100644 --- a/client/components/Search/BaseList.js +++ b/client/components/Search/BaseList.js @@ -391,8 +391,8 @@ export default class BaseList { } else if (searchValue[0] == '~') {//RegExp searchValue = searchValue.substring(1); - const re = new RegExp(searchValue, 'gi'); - return re.exec(bookValue); + const re = new RegExp(searchValue, 'i'); + return re.test(bookValue); } else { //where = `@dirtyIndexLR('value', ${db.esc(a)}, ${db.esc(a + maxUtf8Char)})`; return bookValue.localeCompare(searchValue) >= 0 && bookValue.localeCompare(searchValue + maxUtf8Char) <= 0; diff --git a/server/core/DbSearcher.js b/server/core/DbSearcher.js index 69697a4..79cceb2 100644 --- a/server/core/DbSearcher.js +++ b/server/core/DbSearcher.js @@ -71,8 +71,8 @@ class DbSearcher { a = a.substring(1); where = ` await (async() => { - const re = new RegExp(${db.esc(a)}, 'gi'); - @@indexIter('value', (v) => re.exec(v) ); + const re = new RegExp(${db.esc(a)}, 'i'); + @@indexIter('value', (v) => re.test(v) ); })() `; } else { @@ -577,8 +577,8 @@ class DbSearcher { return ` (() => { - const re = new RegExp(${db.esc(searchValue)}, 'gi'); - return re.exec(row.${bookField}); + const re = new RegExp(${db.esc(searchValue)}, 'i'); + return re.test(row.${bookField}); })() `; } else { diff --git a/server/core/opds/BasePage.js b/server/core/opds/BasePage.js index fba01bb..fd5abe4 100644 --- a/server/core/opds/BasePage.js +++ b/server/core/opds/BasePage.js @@ -256,8 +256,8 @@ class BasePage { } else if (searchValue[0] == '~') {//RegExp searchValue = searchValue.substring(1); - const re = new RegExp(searchValue, 'gi'); - return re.exec(bookValue); + const re = new RegExp(searchValue, 'i'); + return re.test(bookValue); } else { //where = `@dirtyIndexLR('value', ${db.esc(a)}, ${db.esc(a + maxUtf8Char)})`; return bookValue.localeCompare(searchValue) >= 0 && bookValue.localeCompare(searchValue + maxUtf8Char) <= 0;