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

您可以用空字符串替换所有空格并计算字符数。试试这个代码:

function get(str){str = str.replace(/\./g,' ');return str.length;}
于 2012-08-06T06:26:30.770 回答
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

你可以使用

$('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 空间,以防用户想要输入姓氏。只是和选择。如果您不想要这个,请使用其他答案中的代码。

于 2012-08-06T06:41:04.200 回答