JSP ページにテキスト ボックスがあり、ユーザーは名前を入力することもでき、30 文字で最大制限を与えています。
ただし、ユーザーが空の空白を入力するとカウントされ、最大制限に達すると文字の入力が許可されません。
空白が入力されたときにユーザーが文字を入力できるようにしたい。空白を数えるべきではありません。
これを試して:
$(function() {
var txt = $("#myTextbox");
var func = function() {
txt.val(txt.val().replace(/\s/g, ''));
}
txt.keyup(func).blur(func);
});
blur
ユーザーはコンテキストメニューを使用して貼り付けることができるため、イベントを追加で処理する必要があります。
あなたはただ使うことができます
$('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 つのスペースを隣り合わせに配置できます。ただ、オプション。これが必要ない場合は、他の回答のコードを使用してください。
または再び:
$('input').keypress(function(){
var t = $(this).val();
console.log(t.replace(/\s/g, '').length);
if(t.replace(/\s/g, '').length >= 10) alert('max');
});
すべてのスペースを空の文字列に置き換えて、文字数を数えることができます。次のコードを試してください:
function get(str){str = str.replace(/\./g,' ');return str.length;}