JavaScript では、ユーザーの入力を使用してデータベースを検索しようとしています。たとえば、ユーザー入力は「モンスター」で、データベースのデータは「モンスター」です。ケーシングに関係なく、どうすれば一致させることができますか?
4 に答える
Javascript 文字列の大文字と小文字を区別しない比較は、string.toUpperCaseで実行できます。
if (input.toUpperCase() === "OTHER STRING")
....
(データベースは通常、文字列の大文字と小文字を区別しないため、データベースの例は単なる例であると想定しています:)
search() の代わりに match() を使用します。
小文字の文字列を使用するには、javascript 文字列とデータベースの where 句の両方を変換する必要があります。
しかし、SQL Server や mysql のようなデータベースはすべて、文字列に関して大文字と小文字を区別しないと思います。
AJAX を使用している場合は、サーバー側の言語を使用しています。サーバー側のスクリプトにデータを正規化させてみませんか?. 適切な UPPER 関数と LOWER 関数を使用して、このタスクをデータベースに委任することもできますが、セキュリティ上の理由から、データの正規化はサーバー側スクリプトのタスクにする必要があります。
JS を使用して、長さと構文の観点からデータを事前にチェックできます。主に、ユーザーが間違いを犯すのを支援および防止するためですが、絶対にすべきでないことの 1 つは、未処理の JS データをクエリすることです。a' OR 1=1; DROP TABLE users;--
データを検証したとしても、誰でも JS と query を操作できます。