<span style = "font-family:arial、helvetica、sans-serif; background-color:rgb(255、255、255);">昨日、プロジェクト検索がエラーを報告しました。痛みは生産図書館からのものでした。ユーザーが検索時に特殊文字を入力したため、ログを見ました。ユーザーが入力したデータを直接フィルタリングして特殊文字を削除する最速の方法を取得する方法はありません</span>
一部の特殊文字はバックグラウンドに渡され、エラーが発生します。 SQLに注入される可能性があるため、根本的に傍受されます。
入力が入力が特殊文字の入力を禁止する方法について説明しましょう。
方法1:値を取得した後、合格する前に処理する
function stripscript(value){var pattern = new regexp( "[`〜!@#$^&*()= | {} ':;'、// [//]。 rs+S.Substr(i、1).replace(pattern、 '');この関数を直接呼び出すだけです。
方法2:最も基本的な方法は、ユーザーに特殊文字を入力できないように促すことです
関数showkeypress(evt){evt =(evt)? evt:window.eventreturn checkspefickey(evt.keycode);} function checkspeckey(keycode){var specialkey = "[`〜!#$^&*()= | {} ':;'、// [//]。 listvar realkey = string.fromcharcode(keycode); var flg = false; flg =(specialkey.indexof(realkey)> = 0); if(flg){// alert( '特殊文字を入力しないでください:' + realkey);} return true;} document.onkeypress = showkeypress;使用:入力コントロールにイベントを追加してもまったく応答しません
それは少し問題のようです。中国国家では反応はありません。何が起こっているのかわからないので、別のものを見つけました。
方法3:OnKeyUpイベントを取得した後、メソッドと同様に一致します。
function validatevalue(textbox){var illegalstring = "[`〜!#$^&*()= | {} ':;'、//]。<>/?〜! textbox.value.Charat(index); if(illegalstring.indexof(s)> = 0){s = textboxvalue.substring(0、index); textbox.value = s;}}}}使用:onkeyup = "validateValue(this)"入力後すぐに消えます。ユーザーは、私が入力したものが、入った後に消えると言っていることを見ることができます。欠点は、連続入力が消えないということです(抑える)
上記を中和する次の最も素晴らしい方法
方法4:コントロールで直接使用します
// <入力/[/w]/g、 '') "/[^/d]/g、 ''))"> //コントロール入力ボックスはテキストまたは数字のみを入力できます。
この方法ユーザーは、入力がすぐに消えることを確認できます。メソッド3にも同じことが言えますが、連続入力は有効です。
次のJSを見て、入力されたキャラクターが特殊文字ではないと判断しましょう。
1. document.onkeypressイベントは、文字を入力するときの確認です。対応showkeypressは、検証中に実行されます。 trueを返すと、入力でき、falseを入力できません。
2。evt=(evt)? evt:window.event、キーボードを押すと、このイベントが生成され、入力した値が表示されます(キーボードのキーコードです)。
var realkey = string.fromCharcode(keyCode);
string.fromCharcode()メソッドは、キーボード値(キーコード)を実際に入力する値に変換することです。
3。メソッドSpecialKey.Indexof(RealKey):
.indexof()は文字列メソッドです。文字列のindexof()メソッドは、パラメーターとして渡された文字列が文字列に表示されるかどうかを検索します。文字列が見つかった場合、文字の開始位置を返します(0は最初の文字を意味し、1は2番目の文字などを意味します)。発見されていない場合、-1を返します
4。varSpecialKey = "#$%/^*/'/"/+";
エスケープキャラクター、#、$、%、 ^、 *、 '、'、 + +は特別なシンボルであり、逃げる必要がある /前に逃げる必要がある文字列があります。
テキストボックスに制限付き入力特別記号を追加する場合は、<入力タイプ= "テキスト" id = "name" onkeypress = "showkeypress()">を使用します。
上記は、入力が特殊文字の入力を禁止する入力を実装する4つの方法です。それがあなたに役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!