2013-04-16 79 views
0

與AJAX拉取數據,到一個數組,everuthing有工作正常的話,我有這個...的JavaScript - .replace()正在一個字符串,而不是另一個

$.each(data, function (key, value){ 
      var add = value[5]+value[6]; 
      var sub = add.replace(" ",""); 
      var link = 'http://'+sub+'.mydomain.com'; 
} 

//OUTPUT: http://RR1 Box 22USHIGHWAY 67.NextHomeTown.com 

這不是工作。它不會替換任何空格字符。

現在,這裏是它獲得樂趣。這適用於所有返回的具有空格的其他數據庫條目。瘋了吧?

是否有某種字符編碼可能導致它無法識別在此特定條目中使用的空格字符? MySQL表格輸入爲varchar,但在此過程中,它們都是正確的文本字符串?所以這應該不重要。

+0

你可以將值轉儲到控制檯,並轉儲'typeof add'? –

回答

6

這隻會替換它將匹配的第一個空格鍵。使用此全部更換spacebars:

var sub = add.replace(/\s/g,""); 
+0

確實如此,但他表示它不會取代任何空格鍵,所以核心問題應該是別的。 –

+0

如果它不是字符串,則應該產生錯誤而不是繼續。也許他錯過了String中的額外空格。 – Niels

+0

我可以想出爲什麼沒有錯誤會顯示的幾個原因,但是,最簡單的答案是你的。讓我們來看看tPlummer說的。 –

0

既然你報告與其他表所期望的行爲,這也許是不相關的 - 但不要忘記,在JavaScript中,字符串替換功能只替換的一審 searchString,除非你使用正則表達式

"red, red, red".replace(/ /g, ""); 
"red,red,red" 

"red, red, red".replace(" ", ""); 
"red,red, red" 
相關問題