2

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

但是,如果没有找到结果,变量仍然有两个空格。我使用alert(data.length);. 结果是2,这意味着有两个空格。

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

谢谢!

4

7 回答 7

8

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

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

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

var len = data.trim().length;
于 2012-11-28T20:20:00.743 回答
3

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

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

if (data.trim().length === 0) {
  ...
}
于 2012-11-28T20:20:34.710 回答
1
var str = "lots of whitespace";
str.replace(/\s+/g, ''); // 'lotsofwhitespace'
于 2012-11-28T20:20:44.167 回答
1

请参阅这篇文章,其中深入介绍了该主题,如果您使用 jQuery,则可以使用$.trim()内置的。

于 2012-11-28T20:21:20.780 回答
1

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

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

并根据需要将其分配给其他变量

data2 = data.replace(/\s+/g, '');
于 2012-11-28T20:22:42.523 回答
1

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();
于 2012-11-28T20:22:42.820 回答
0

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

于 2018-04-26T05:36:11.777 回答