Использование JavaScript заменить для замены чисел в строке? - PullRequest
2 голосов
/ 14 ноября 2010

У меня есть строка

var x='abcdefg1234abcdefg';

Я хочу заменить 1234 на 555, используя функцию x.replace(), например

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_width и sb_height.

Ответы [ 3 ]

8 голосов
/ 14 ноября 2010

То, что вы описали, должно было сработать:

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

Но учтите, что replace при задании строки будет заменять только первую. Чтобы заменить больше, используйте регулярное выражение с флагом g (для «global»):

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

Живой пример

0 голосов
/ 14 ноября 2010

Хорошо, это не замена строки вообще.Надеюсь, вы используете 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);

Замена строк не подходит для этого.Вам нужно жестко закодировать начальные значения, может заменить непреднамеренную похожую строку, код на самом деле не сообщает о вашем намерении (изменить высоту / ширину, а не манипулировать строками)

0 голосов
/ 14 ноября 2010

работает следующий код, пробовал сейчас:

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

Пробовал отладку в firebug или sth?Дайте нам точный фрагмент кода, который вы пытаетесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...