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