JavaScript: игнорирование чувствительности к регистру строк

В JavaScript я пытаюсь использовать вход пользователя для поиска моей базы данных. Например, ввод данных пользователем является "монстром", и данные моей базы данных являются "Монстром". Как у меня может быть он соответствие независимо от, он случается?

12
задан Gordon Gustafson 12 April 2010 в 00:29
поделиться

3 ответа

Сравнение строк Javascript без учета регистра может выполняться с помощью string.toUpperCase .

if (input.toUpperCase() === "OTHER STRING")
    ....

(Я предполагаю, что ваш пример базы данных - это просто пример, поскольку базы данных обычно игнорируют регистр строк:)

23
ответ дан 2 December 2019 в 06:44
поделиться

Вы должны преобразовать как строку javascript, так и database where предложение использовать строчную строку.

Но я полагаю, что все базы данных, такие как sql server и mysql, нечувствительны к регистру с точки зрения строки.

0
ответ дан 2 December 2019 в 06:44
поделиться

Если вы используете AJAX, значит, вы используете язык на стороне сервера. Почему бы вам не позволить сценарию на стороне сервера нормализовать данные?Вы даже можете делегировать эту задачу базе данных, используя соответствующие функции UPPER и LOWER, но по соображениям безопасности нормализация данных должна быть задачей сценария на стороне сервера.

Вы можете использовать JS для предварительной проверки данных с точки зрения длины и синтаксиса, в основном для помощи и предотвращения ошибок пользователя, но вы никогда не должны делать запросы к необработанным данным JS. Кто угодно может манипулировать JS и запросить 'OR 1 = 1; DROP TABLE users; - , даже если вы проверяете данные.

-1
ответ дан 2 December 2019 в 06:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: