我有这个问题 我很想用àccc替换像àòùèì这样的所有字符......
我有这个原型可行:
String.prototype.ReplaceAll = function(stringToFind,stringToReplace){
var temp = this;
var index = temp.indexOf(stringToFind);
while(index != -1){
temp = temp.replace(stringToFind,stringToReplace);
index = temp.indexOf(stringToFind);
}
return temp;
};
现在我想使用名为Clean的函数
来使用这个原型function Clean(temp){
temp.ReplaceAll("è","è");
temp.ReplaceAll("à","à");
temp.ReplaceAll("ì","ì");
temp.ReplaceAll("ò","ò");
temp.ReplaceAll("ù","ù");
temp.ReplaceAll("é","&eacuta;");
return temp;
}
现在我想使用我的功能:
var name= document.getElementById("name").value;
var nomePul=Clean(name);
为什么这不起作用?有什么问题?
在这种情况下它可以工作(没有我的功能干净,所以我认为问题就在那里)
var nomePul=nome.ReplaceAll("è","è");
有人可以帮助我吗?
答案 0 :(得分:3)
使用以下内容:
function Clean(temp){
temp=temp.ReplaceAll("è","è");
temp=temp.ReplaceAll("à","à");
temp=temp.ReplaceAll("ì","ì");
temp=temp.ReplaceAll("ò","ò");
temp=temp.ReplaceAll("ù","ù");
temp=temp.ReplaceAll("é","&eacuta;");
return temp;
}
您没有分配值
答案 1 :(得分:2)
这是replaceAll的另一个实现。希望它可以帮到某人。
String.prototype.replaceAll = function (stringToFind, stringToReplace) {
if (stringToFind === stringToReplace) return this;
var temp = this;
var index = temp.indexOf(stringToFind);
while (index != -1) {
temp = temp.replace(stringToFind, stringToReplace);
index = temp.indexOf(stringToFind);
}
return temp;
};
答案 2 :(得分:1)
ReplaceAll()返回一个字符串。所以你应该做
temp = temp.ReplaceAll("è","è");
在Clean()函数中
答案 3 :(得分:1)
ReplaceAll
函数不会改变字符串。它返回一个新字符串。这意味着您需要分配它,如下所示:
function Clean(temp){
temp = temp.ReplaceAll("è","è");
temp = temp.ReplaceAll("à","à");
temp = temp.ReplaceAll("ì","ì");
temp = temp.ReplaceAll("ò","ò");
temp = temp.ReplaceAll("ù","ù");
temp = temp.ReplaceAll("é","&eacuta;");
return temp;
}
请注意,原型方法可以链接,因此如果您这样做,可能会重复性稍差:
function Clean(temp){
return temp.ReplaceAll("è","è")
.ReplaceAll("à","à")
.ReplaceAll("ì","ì")
.ReplaceAll("ò","ò")
.ReplaceAll("ù","ù")
.ReplaceAll("é","&eacuta;");
}
如果您愿意,可以使用Javascript中的全局替换的典型方式,因此您不需要使用自定义ReplaceAll
原型函数。
return temp.replace(/è/g,"è")
.replace(/à/g,"à")
.replace(/ì/g,"ì")
.replace(/ò/g,"ò")
.replace(/ù/g,"ù")
.replace(/é/g,"&eacuta;");
答案 4 :(得分:0)
你可以在javascript中以两种方式应用它。
1)使用替换的字符串拆分并连接字符串数组:
return temp.split("è").join("è")
.split("à").join("à")
.split("ì").join("ì")
.split("ò").join("ò")
.split("ù").join("ù")
.split("é").join("&eacuta;");
2)使用javascript本身内置的全局替换(上面指定为Peter)
return temp.replace(/è/g,"è")
.replace(/à/g,"à")
.replace(/ì/g,"ì")
.replace(/ò/g,"ò")
.replace(/ù/g,"ù")
.replace(/é/g,"&eacuta;");
答案 5 :(得分:0)
尝试使用以下代码替换所有代码。您可以使用此代码进行操作。
var str = "Test abc test test abc test test test abc test test abc";
str = str.split('abc').join('');
alert(str);