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