我在输入变量中有这个字符串,如下所示: var input =" javascript&#34 ;;
我想将此字符串更改为" j4v4sr1pt"用4替换a和1替换。
我尝试做这样的事情,但对我不起作用,我是JavaScript的新手。有人告诉我我在这里做错了什么?提前投票的评论:D
<script>
var input = "javascript";
var output= "";
for ( var i=0;i<input.length ; i++)
{ if ( input[i] == "a")
{output[i] = "4"; }
else if ( input[i] == "i")
{ output[i] ="1"; }
else
output[i]=input[i];
}// end forloop
</script>
答案 0 :(得分:2)
在JavaScript中,字符串是不可变的,这意味着它们不能在适当的位置进行更改。即使你可以读取字符串的每个字符,也不能写入它。
您可以使用正则表达式替换来解决问题:
#wrapLeft
或者您可以通过将output = input.replace(/a/g, '4').replace(/i/g, '1');
从字符串更改为数组,然后将其加入以使其成为字符串来解决此问题:
output
答案 1 :(得分:1)
尝试以下.replace()
方法:
<script>
var input = "javascript";
var output = input.replace("a", "4", "g").replace("i", "1", "g");
</script>
修改:为替换方法添加了g
标记,以替换所有匹配项,而不仅仅是第一个匹配项。