如何使用JQuery在文本框中的每个逗号后自动插入空格?

Oud*_*din 2 jquery user-input

我尝试使用jQuery编写脚本,假设在每个逗号","之后自动放置一个空格,以便分隔用户在输入字段中输入的一系列数字.例如,如果他们输入(45,68,95,23),当用户离开输入区域时,它变为(45,68,95,23).

这是为了检查输入是否有逗号

$("#test").blur(function() { 
    if(this.value.indexOf(",") !== -1) {
        alert('got a comma');
    }
});
Run Code Online (Sandbox Code Playgroud)

Tod*_*ell 7

只需用逗号分隔输入值,修剪每个项目的空格,然后将结果数组与逗号和空格连接在一起.

$("#test").blur(function () {
  this.value = $.map(this.value.split(","), $.trim).join(", ");
});
Run Code Online (Sandbox Code Playgroud)


Phr*_*ogz 6

$('#test').blur(function(){
  $(this).val(function(i,oldValue){
    return oldValue.replace( /,\s*/g, ', ' );
  });
});
Run Code Online (Sandbox Code Playgroud)

或者,少用jQuery:

$('#test').blur(function(){
  this.value = this.value.replace( /,\s*/g, ', ' );
});
Run Code Online (Sandbox Code Playgroud)

  • 呃......第一种方法是完全没必要的,因为第二种方法在各方面都是优越的. (3认同)
  • @JacobRelkin Heh :)当然这会遇到需要将多个模糊处理程序附加到元素的不可能的问题,但总是很好地让民众了解非jQuery选项.+1幽默和包含所有适当的分号. (2认同)