2010-11-14 165 views
2

我有一個字符串使用JavaScript替換來替換字符串中的數字?

var x='abcdefg1234abcdefg'; 

我想用x.replace()功能,以取代1234555

x=x.replace(stuff here) 

我試圖通過'1234','555'的參數,但它不工作。

任何線索?謝謝

編輯: 該字符串在隱藏<input>字段。它的值是:

<object id="player" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" name="player" width="400" height="385"> 
<param name="movie" value="player.swf" /> <param name="allowfullscreen" value="true" /> 
<param name="allowscriptaccess" value="always" /> 
<param name="flashvars" value="provider=http&file=files/videos/10.file" /> 
<embed type="application/x-shockwave-flash" src="player.swf" width="400" height="385" allowscriptaccess="always" allowfullscreen="true" flashvars="provider=http&file=files/videos/10.file&image=preview.jpg"/> 
</object> 

我要替換的寬度值和高度值存儲在sb_widthsb_height值。

+5

你能發佈_exactly_你試過了嗎? – Oded 2010-11-14 15:48:47

回答

7

你所描述什麼應該有工作:

var x = 'abcdefg1234abcdefg'; 
x = x.replace('1234', '555'); 
alert(x); // alerts abcdefg555abcdefg 

但要注意,鑑於replace當一個字符串只替換第一個。要更換多,使用正則表達式與g標誌(爲 「全局」):

var x = 'abcdefg1234abcdefg1234xxx'; 
x = x.replace(/1234/g, '555'); 
alert(x); // alerts abcdefg555abcdefg555xxx 

Live example

+0

是的,我要求的正則表達式,我有價值遍佈字符串... – 2010-11-14 15:53:59

+0

謝謝,它工作:)。我只是用雙引號前面的「/ 1234/i」中的正則表達式,並用I代替G ...再次感謝 – 2010-11-14 15:59:45

+0

@Ronan:很高興幫助,但不需要雙引號,文字正則表達式很好(首選,if任何東西)。 – 2010-11-14 16:00:45

0

下面的代碼工作,現在嘗試:

var bla='dfasfdas123dfasfas'; 
alert(bla.replace('123','555')); 

在Firebug或某物嘗試調試?給我們你正在嘗試的確切代碼片段

0

好吧,這根本不是字符串替換。你使用jQuery我希望?

$("$player").attr("width", sb_width); 
$("$player").attr("height", sb_height); 

$("$player").children("embed").attr("width", sb_width); 
$("$player").children("embed").attr("height", sb_height); 

字符串替換不是這裏的方法。你需要硬編碼的初始值,可能會取代意想不到的相似字符串,代碼並沒有真正傳達你的意圖(改變高度/寬度,而不是操縱字符串)