0

JSP ページにテキスト ボックスがあり、ユーザーは名前を入力することもでき、30 文字で最大制限を与えています。

ただし、ユーザーが空の空白を入力するとカウントされ、最大制限に達すると文字の入力が許可されません。

空白が入力されたときにユーザーが文字を入力できるようにしたい。空白を数えるべきではありません。

4

4 に答える 4

2

これを試して:

$(function() {
  var txt = $("#myTextbox");
  var func = function() {
    txt.val(txt.val().replace(/\s/g, ''));
  }
  txt.keyup(func).blur(func);
});

blurユーザーはコンテキストメニューを使用して貼り付けることができるため、イベントを追加で処理する必要があります。

デモを見る

于 2012-08-06T06:30:05.497 に答える
0

あなたはただ使うことができます

$('input').keyup(function(event) {
    if (event.keyCode == 32) {             // if the user presses 'space',
        $(this).val(function(i, val) {
            return val.replace('  ', ' '); // find and replace 'double spaces' and replace it with one 'space
        });
    }
});​

私のデモをチェック

このコードでは、ユーザーが姓を入力したい場合に備えて、最大 1 つのスペースを隣り合わせに配置できます。ただ、オプション。これが必要ない場合は、他の回答のコードを使用してください。

于 2012-08-06T06:41:04.200 に答える
0

または再び:

$('input').keypress(function(){
    var t = $(this).val();
    console.log(t.replace(/\s/g, '').length);
    if(t.replace(/\s/g, '').length >= 10) alert('max');

});
于 2012-08-06T06:30:54.777 に答える
0

すべてのスペースを空の文字列に置き換えて、文字数を数えることができます。次のコードを試してください:

function get(str){str = str.replace(/\./g,' ');return str.length;}
于 2012-08-06T06:26:30.770 に答える