[英]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.