试图用javascript查找并替换字符串

试图用javascript查找并替换字符串,javascript,debugging,Javascript,Debugging,我试图用JavaScript查找并替换字符串,但我的例程不起作用。我想可能是弄错了。请指导我在js例程中修复什么。这是我的剧本 function ReplaceChars(srcString) { var IgnoreChars = ['<', '>',':', '/', '?', '#', '[', ']', '@', '!', '$', '&', '(', ')', '*', '', '+', ',', ';', '=', ']', ';']; for (

我试图用JavaScript查找并替换字符串,但我的例程不起作用。我想可能是弄错了。请指导我在js例程中修复什么。这是我的剧本

function ReplaceChars(srcString)
{
    var IgnoreChars = ['<', '>',':', '/', '?', '#', '[', ']', '@', '!', '$', '&', '(', ')', '*', '', '+', ',', ';', '=', ']', ';'];
    for (i = 0; i < srcString.length; i++) {
        for (j = 0; j < IgnoreChars.length; j++) {
            if (srcString.charAt(i) == IgnoreChars.charAt(j))
            {
                srcString=srcString.replace(srcString.charAt(i), '');
            }
        }
    }
    return srcString;
}

var str = '<name>';
alert(ReplaceChars(str));
函数ReplaceChars(srcString)
{
变量IgnoreChars=['',':','/','?','#','[','],'@','!','$','&','(','),'*',',',','+',',','=','],';';
对于(i=0;i
你就快到了。 IgnoreChars是一个数组,而不是字符串,因此它没有charAt函数; 更改此行:

 if (srcString.charAt(i) == IgnoreChars.charAt(j))


这里有一把小提琴:

或者您可以使用正则表达式:

var str = "<name>";
var reg = /[<>:\/?#\[\]@!]/g
//add more characters to the RegEx

var newStr = str.replace(reg, "");
console.log(newStr);
var-str=”“;
var reg=/[:\/?\[\]@!]/g
//向正则表达式添加更多字符
var newStr=str.replace(reg,“”);
console.log(newStr);

也许您可以尝试以下方法:

IgnoreChars.charAt(j)
charAt
是字符串函数而不是数组函数


使用
IgnoreChars[j]
它将起作用。

定义“不起作用”不清楚……你想说什么??在被忽略的字符列表中有一个空字符串。这是预期的吗?(介于
*
+
之间)
IgnoreChars.charAt(j)