【问题标题】:Remove spaces in a Javascript variable删除 Javascript 变量中的空格
【发布时间】:2012-11-28 20:19:08
【问题描述】:

我正在使用 AJAX 通过 PHP 从 MYSQL 数据库中检索数据。

但是,如果没有找到结果,变量仍然有两个空格。我使用alert(data.length); 发现了问题。结果是2,表示有两个空格。

如何删除这些空格,如果没有结果,我可以使用if(data == ''){} 显示一条消息?

谢谢!

【问题讨论】:

标签: javascript


【解决方案1】:

这称为字符串修剪。这是纯 JavaScript 中的一种选择:

var len = data.replace(/\s/g, "").length;

然而,在现代浏览器中有一个字符串trim() 函数:

var len = data.trim().length;

【讨论】:

  • 但是如果有一些结果我不想删除空格,那么这些结果中的空格也会被删除..我可以试试,如果 data.length == 2 那么我可以修剪它..谢谢你的回答...
【解决方案2】:

我不明白你为什么一开始就有这两个空格。 如果它对您来说是一个合适的选择,我会尝试从服务器响应中删除这些空格。

如果这不可能,您可以使用 String.prototype.trim 删除前导/尾随空格。这将允许您按如下方式编写支票

if (data.trim().length === 0) {
  ...
}

【讨论】:

    【解决方案3】:
    var str = "lots of whitespace";
    str.replace(/\s+/g, ''); // 'lotsofwhitespace'
    

    【讨论】:

      【解决方案4】:

      看到这个帖子里topic is covered deeply,如果你使用jQuery,你可以使用内置的$.trim()

      【讨论】:

        【解决方案5】:

        如果你的变量是data,那么试试这个

            data.replace(/\s+/g, '');
        

        如果需要,可以将其分配给其他变量

        data2 = data.replace(/\s+/g, '');
        

        【讨论】:

          【解决方案6】:

          3 个选项:

          var strg = "there is space";
          strg.replace(/\s+/g, ' ');
          

          或:

          $.trim()
          

          或:

          String.prototype.trim = function() { 
              return this.replace(/^\s+|\s+$/g, ""); 
          }
          
          var strg = "there is space";
          strg.trim();
          

          【讨论】:

          • 但是如果有任何结果我不想删除空格,那么这些结果中的空格也会被删除。现在我可以这样做 if data.length == 2 然后使用 ur 修剪它方式..非常感谢你..
          【解决方案7】:

          data = data.split(' ').join('') 将删除字符串中的所有空格。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2013-04-22
            • 1970-01-01
            • 2013-06-24
            • 2017-04-05
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多