我正在使用AJAX通过PHP从MYSQL数据库检索数据。
然而,如果没有找到结果,变量仍然有两个空格。使用alert(data.length);
发现了这个问题。结果是2,这意味着有两个空格。
如何删除这些空格,以便如果没有结果,我可以使用if(data == ''){}
显示消息?
谢谢!
我正在使用AJAX通过PHP从MYSQL数据库检索数据。
然而,如果没有找到结果,变量仍然有两个空格。使用alert(data.length);
发现了这个问题。结果是2,这意味着有两个空格。
如何删除这些空格,以便如果没有结果,我可以使用if(data == ''){}
显示消息?
谢谢!
这称为字符串修剪。在纯JavaScript中,以下是一种选项:
var len = data.replace(/\s/g, "").length;
然而,在现代浏览器中,有一个字符串trim()
函数可以实现该功能:
var len = data.trim().length;
我无法理解为什么起初这两个空格存在。
如果可以,请尝试从服务器响应处删除这些空格,这是一个合适的选择。
如果不能删除,你可以使用 String.prototype.trim
去除前导/尾随空格。这将使你可以编写如下检查:
if (data.trim().length === 0) {
...
}
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();
var str = "lots of whitespace";
str.replace(/\s+/g, ''); // 'lotsofwhitespace'
data
,那么尝试这个。 data.replace(/\s+/g, '');
如果需要,可以将其分配给其他变量
data2 = data.replace(/\s+/g, '');
data = data.split(' ').join('')
将从字符串中删除所有空格。
trim
函数来处理响应。 - bfavaretto