如何在Javascript中更改字符串中的特定字符

时间:2015-10-10 15:17:24

标签: javascript jquery

我在输入变量中有这个字符串,如下所示: 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>

2 个答案:

答案 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标记,以替换所有匹配项,而不仅仅是第一个匹配项。