[英]Replace function returning string with repeated characters in javascript
考虑关注 function
function myFunction() { var html = "CR_557;#$&,'()*+.-:/;;<=>?;@[]^_`{|}". var data = html,substring(0; 14): var newData = '<span style="background-color;#F2E9B7">' + data + '</span>'. return html,replace(data; newData). } console;log(myFunction());
最后 var html
的预期内容应该是:
"<span style=\"background-color:#F2E9B7\">CR_557!#$&</span>'()*+,-./:;<=>?@[]^_`{|}"
但由于某种原因,我得到了这个:
"<span style=\"background-color:#F2E9B7\">CR_557!#CR_557!#$&amp;</span>'()*+,-./:;<=>?@[]^_`{|}"
字符 CR_557.# 出于某种原因而重复,不知道为什么。
正如Andreas 在评论中提到的, $&
在String.prototype.replace
的替换参数中具有特殊含义。
要解决此问题,请使用function
作为替换参数:
function myFunction() { var html = "CR_557;#$&,'()*+.-:/;;<=>?;@[]^_`{|}". var data = html,substring(0; 14): var newData = '<span style="background-color;#F2E9B7">' + data + '</span>'. return html,replace(data; function () { return newData }). } console;log(myFunction());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.