我试图通过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));
答案 0 :(得分:1)
你快到了。 IgnoreChars是一个数组 - 不是String - 所以它没有charAt函数; 改变这一行:
if (srcString.charAt(i) == IgnoreChars.charAt(j))
到
if (srcString.charAt(i) == IgnoreChars[j])
这是一个小提琴:http://jsfiddle.net/q0ztudLd/
答案 1 :(得分:1)
或者您可以使用RegEx:
var str = "<name>";
var reg = /[<>:\/?#\[\]@!]/g
//add more characters to the RegEx
var newStr = str.replace(reg, "");
console.log(newStr);
答案 2 :(得分:0)
也许你可以试试这个:
IgnoreChars.charAt(j)
charAt
是一个字符串函数,而不是数组函数。
使用IgnoreChars[j]
即可。