Javascript 从 .value 中删除空格

Javascript to remove spaces from .value

//loop thought all the sku field
$('.optionSku').each(function() {

    //if found field are empty
    if (jQuery.trim(this.value) == "") {

        //loop thought all the name field to copy to the empty field
        $('.optionName').each(function() {

            if ($(this).closest("tr").find(".optionSku").val() == "") {

                empty++;
                $(this).closest("tr").find(".optionSku").val($(this).val());
            }

        });
    }
})

如何使用 JQuery 从 this.value 中删除 space? 我尝试放置 if (jQuery.trim(this.value) == ""),但它无法删除内联 space,只能删除前导和尾随 space。

试试这个:

if(this.value.trim()==""){
    //code here
}
this.value =  this.value.trim(); 
//you need to assign the trimmed value back to it.

请注意,trim 可能无法在 IE < 9 版本中使用。所以你可以使用:

this.value = $.trim(this.value);

.replace(/ /g,'') g 字符表示在整个字符串中重复搜索。 如果要匹配所有白色 space,而不仅仅是字面 space 字符,请同时使用 \s:

.replace(/\s/g,'')

这就是 trim 在 javascript 中的工作方式。

var val = this.value.trim();

$.trim() 函数从提供的字符串的开头和结尾删除所有换行符、空格(包括不间断空格)和制表符。如果这些空白字符出现在字符串的中间,它们将被保留。
如果要删除前导和尾随空格,请使用

//loop thought all the sku field
 $('.optionSku').each(function() {
    //if found field are empty
    if ($.trim(this.value)=="") {
       //loop thought all the name field to copy to the empty field
       $('.optionName').each(function() {
          if ($(this).closest("tr").find(".optionSku").val() == "") {
             empty++;
             $(this).closest("tr").find(".optionSku").val($(this).val());
          }
       });
    }
 });

如果你想内联空格使用

//loop thought all the sku field
 $('.optionSku').each(function() {
    //if found field are empty
    if (this.value.trim()=="") {
       //loop thought all the name field to copy to the empty field
       $('.optionName').each(function() {
          if ($(this).closest("tr").find(".optionSku").val() == "") {
             empty++;
             $(this).closest("tr").find(".optionSku").val($(this).val());
          }
       });
    }
 });