2012-11-28 91 views
0

我使用AJAX通過PHP從MYSQL數據庫檢索數據。刪除Javascript變量中的空格

但是,如果沒有找到結果,變量仍然有兩個空格。我發現問題使用alert(data.length);。結果是,這意味着有兩個空格。

如何刪除這些空格以便如果沒有結果,我可以使用if(data == ''){}顯示消息?

謝謝!

+0

的[取下一個字符串的字符]可能重複(http://stackoverflow.com/questions/4846978/remove-characters-from-a-string)和[如何刪除空白字符在JavaScript中的字符串?](http://stackoverflow.com/questions/3893625/how-remove-blank-characters-from-a-string-in-javascript)。 –

+0

如果我是你,我會[PHP]修剪(http://php.net/trim)PHP端的響應。 – bfavaretto

+0

@bfavaretto - 我試圖這樣做,但我不知道,查詢通過if($ query)偶查詢是空的 –

回答

5

這被稱爲字符串修整。這裏是在純JavaScript一個選項:

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

然而,在現代瀏覽器有一個字符串trim()功能爲:

var len = data.trim().length; 
+0

但我不想刪除空格,如果有一些結果,那麼這些結果中的空格將被刪除..我可以嘗試,如果data.length == 2,那麼我可以修剪它..謝謝你的答案... –

3

你可以使用正則表達式

yourvar.replace(/\s/g, ""); 

這裏舉一個例子:

var a = "just an example"; 
a=a.replace(/\s/g, ""); 
console.log(a) 
//will log: justanexample 
1
var str = "lots of whitespace"; 
str.replace(/\s+/g, ''); // 'lotsofwhitespace' 
1

如果變量是data那就試試這個

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

,並將其分配給其他變量,如果你想

data2 = data.replace(/\s+/g, ''); 
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(); 
+0

但我不想刪除空格,如果有任何結果,然後空格在這些結果中也將被刪除..現在我可以做data.length == 2然後用你的方式修剪它..非常感謝你.. –