1
$('input').keypress(function(e) {
        var regex = new RegExp("^[a-zA-Z0-9]+$");
        var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
        if (!regex.test(key)) {
           event.preventDefault ? event.preventDefault() : event.returnValue = false;
        }
    });

IE で動作するように修正する方法。アイデアは、キーを押すと特殊文字をエスケープすることです。chrome、mozilla などでうまく動作しますが、IE はすべてのキープレス機能を正規表現に対して有効であっても無視します。

4

2 に答える 2

1

次のコードを使用します

$('input').keypress(function(e) {
    var regex = new RegExp("^[a-zA-Z0-9]+$");
    var key = String.fromCharCode(!e.charCode ? e.which : e.charCode);
    if (!regex.test(key)) {
       e.preventDefault ? e.preventDefault() : e.returnValue = false;
    }
});
于 2013-07-28T12:17:51.300 に答える
0
$('input').keypress(function(e) <--- use e.preventDefault();

$('input').keypress(function(event) <--- use event.preventDefault();

関数に渡すパラメータが何であれ、それを使用してイベントオブジェクトを呼び出します。

于 2013-07-28T12:25:41.333 に答える