3

ユーザーが html テキスト ボックスに文字のみを入力するように制限したい。次のコードを使用しています

 $('.alphaonly').live("input", function () {
     $(this).val($(this).val().replace(/[^A-Za-zÀ-ÿ ]/g, ''));
 });

これは IE9 では問題なく動作しますが、IE8 では失敗します。

誰でも修正を手伝ってもらえますか?

4

4 に答える 4

3

つまり、プラグインを使用する方がはるかに簡単です。

http://www.thimbleopensource.com/tutorials-snippets/jquery-plugin-filter-text-input

$('#text_input').filter_input({regex:'[a-z]'}); 
于 2012-09-07T13:02:18.030 に答える
2

古いブラウザーにはkeyupandイベントを使用します。mouseup

 $('.alphaonly').on("keyup mouseup input", function () {
     $(this).val($(this).val().replace(/[^A-Za-zÀ-ÿ ]/g, ''));
 });​

このinputイベントは IE < 9 ではサポートされていません。 と を使用してほぼ同じ機能を実行できます。また、jQuery 1.7 の時点で、は推奨されなくなりました。keyupmouseup.live().on()

デモ

于 2012-09-07T12:56:57.147 に答える
0
//If you consider doing it plain JavaScript way, without JQuery      
 function lettersOnly(evt) {
   evt = (evt) ? evt : event;
   var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode :
      ((evt.which) ? evt.which : 0));
   if (charCode > 31 && (charCode < 65 || charCode > 90) &&
      (charCode < 97 || charCode > 122)) {
      alert("Enter letters only.");
      return false;
   }
   return true;
 }
于 2013-01-15T04:37:24.080 に答える
0
Try this ...
$('.alphaonly').live({
   keyup : function () {
     $(this).val($(this).val().replace(/[^A-Za-zÀ-ÿ ]/g, ''));
   }
});
于 2012-09-07T12:58:20.863 に答える