12

JavaScript では、ユーザーの入力を使用してデータベースを検索しようとしています。たとえば、ユーザー入力は「モンスター」で、データベースのデータは「モンスター」です。ケーシングに関係なく、どうすれば一致させることができますか?

4

4 に答える 4

23

Javascript 文字列の大文字と小文字を区別しない比較は、string.toUpperCaseで実行できます。

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

(データベースは通常、文字列の大文字と小文字を区別しないため、データベースの例は単なる例であると想定しています:)

于 2010-04-12T00:19:40.357 に答える
1

search() の代わりに match() を使用します。

于 2012-11-27T15:51:04.727 に答える
0

小文字の文字列を使用するには、javascript 文字列とデータベースの where 句の両方を変換する必要があります。

しかし、SQL Server や mysql のようなデータベースはすべて、文字列に関して大文字と小文字を区別しないと思います。

于 2010-04-12T00:20:21.510 に答える
-1

AJAX を使用している場合は、サーバー側の言語を使用しています。サーバー側のスクリプトにデータを正規化させてみませんか?. 適切な UPPER 関数と LOWER 関数を使用して、このタスクをデータベースに委任することもできますが、セキュリティ上の理由から、データの正規化はサーバー側スクリプトのタスクにする必要があります。

JS を使用して、長さと構文の観点からデータを事前にチェックできます。主に、ユーザーが間違いを犯すのを支援および防止するためですが、絶対にすべきでないことの 1 つは、未処理の JS データをクエリすることです。a' OR 1=1; DROP TABLE users;--データを検証したとしても、誰でも JS と query を操作できます。

于 2010-04-12T00:52:46.497 に答える