0

入力するキーコード (az、AZ、_) を使用して入力フィールドを検証しています。JavaScript コードは次のようになります。

function checkForSpecialCharacters(event) {
var keycode;

keycode = event.keyCode ? event.keyCode : event.which;

if ((keycode >= 48 && keycode <= 57) || (keycode >= 65 && keycode <= 90) || (keycode == 9)
        || (keycode == 95)||(keycode == 8) || (keycode >= 97 && keycode <= 122)) {

    return true;

}

else {

    return false;

}
return true;

}

これは Chrome や IE では問題なく動作しますが、Firefox では矢印キーも無効になります。

私は行ってきましたup down left right の ASCII 値は何ですか? . しかし、私の場合、入力フィールドにすべての特殊文字を入力できないようにする必要があります。
上記のリンクの解決策は、私の要件を満たしていません。

あなたのポジティブな反応を親切に返信してください。

ありがとう。

4

1 に答える 1

2

この問題の解決策を得ました。を使用するだけevent.whichです。これは、イベント オブジェクトのプロパティですこれには、イベントをトリガーするために押されたキーのキー コードが含まれます (例: keydown、keyup など)。

したがって、押されたキーの値を使用して取得しevent.which、if 条件をチェックインするだけです。

私の場合、Firefox ブラウザーでは、矢印キーで 0 を取得していました。だから私はちょうど次のような条件を追加しました:

if ((keycode >= 48 && keycode <= 57) || (keycode >= 65 && keycode <= 90) || (keycode == 9)
 || (event.which == 0)  || (keycode == 95)||(keycode == 8) || (keycode >= 97 && keycode <= 122)) {

return true;}

それが他の仲間に役立つことを願っています。

ありがとう

于 2013-08-16T11:54:18.897 に答える