我的 JSP 页面中有一个文本框,允许用户输入名称,我在其中给出了 30 个字符的最大限制。
但是当用户输入空白区域时,它会计算并且一旦达到最大限制就不允许字符输入。
我希望当输入空格时,用户应该能够输入字符。它不应该计算空格。
尝试这个:
$(function() {
var txt = $("#myTextbox");
var func = function() {
txt.val(txt.val().replace(/\s/g, ''));
}
txt.keyup(func).blur(func);
});
您必须另外处理该blur
事件,因为用户可以使用上下文菜单进行粘贴。
您可以用空字符串替换所有空格并计算字符数。试试这个代码:
function get(str){str = str.replace(/\./g,' ');return str.length;}
或者再次:
$('input').keypress(function(){
var t = $(this).val();
console.log(t.replace(/\s/g, '').length);
if(t.replace(/\s/g, '').length >= 10) alert('max');
});
你可以使用
$('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
});
}
});
检查我的演示
此代码允许彼此相邻的最大 ONE 空间,以防用户想要输入姓氏。只是和选择。如果您不想要这个,请使用其他答案中的代码。