javascript - .replace()正在处理一个字符串而不是另一个字符串

时间:2013-04-16 17:01:58

标签: javascript jquery

使用AJAX将数据拉入数组,并在那里工作正常,然后我就有了......

$.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

这不起作用。它不会替换任何空格字符。

现在,这里变得有趣。这适用于返回的每个具有空格的其他DB条目。疯了吧?

是否存在某种类型的字符编码可能导致它无法识别此特定条目中使用的空格字符? MySQL表将它们输入为varchar,但在此过程中,它们只是文本字符串对吗?所以没关系。

2 个答案:

答案 0 :(得分:6)

这只会替换它匹配的第一个空格键。用它来替换所有空格键:

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

答案 1 :(得分:0)

由于您使用其他表报告了所需的行为,因此它可能不相关 - 但不要忘记在javascript中,字符串替换函数仅替换searchString的第一个实例除非使用正则表达式。

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

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