document.getElementById("Message").innerHTML=document.getElementById("Message").innerHTML.replace("'","%%");
上面的语句只替换了第一次出现的单引号。可能是因为我在那之后立即进行了提交,并且 javascript 在继续下一个语句之前没有等待前一个语句完成?
document.getElementById("Message").innerHTML=document.getElementById("Message").innerHTML.replace("'","%%");
上面的语句只替换了第一次出现的单引号。可能是因为我在那之后立即进行了提交,并且 javascript 在继续下一个语句之前没有等待前一个语句完成?
尝试使用正则表达式/g
.replace(/'/g,"%%")
如下更改您的代码,
document.getElementById("Message").innerHTML =
document.getElementById("Message")
.innerHTML
.replace(/'/g,"%%");
要在 javascript 中全局替换,您需要将 /g 添加到替换字符串中。
请参阅此 SO 链接如何使用 JavaScript 替换字符串中的所有点
您应该在替换中使用正则表达式。
document.getElementById("Message").innerHTML=document.getElementById("Message").innerHTML.replace(/'/g,"%%");
在 replace() 参数中使用Global (g)
标志。
看这里
您应该使用正则表达式和/g
(全局)标志。这将替换所有出现:
document.getElementById("Message").innerHTML=
document.getElementById("Message").innerHTML.replace(/'/g,"%%");