gpt4 book ai didi

javascript - 如何绕过动态 anchor 标记中的特殊字符

转载 作者:行者123 更新时间:2023-12-03 10:41:23 24 4
gpt4 key购买 nike

我正在尝试通过添加一些值来创建动态 anchor 标记。但如果有特殊字符,代码就会被破坏:

'<a href="#" onclick="openCI(\''+var1+'\',\''+ var2 +'\',\''+ var3 +'\',\''+ var4 +'\')">' + LINK_URL + '</a>'

在上述情况下,当 LINK_URL 值包含特殊字符时,代码会中断。有什么办法可以解决这个问题吗?

我在 LINK_URL 中尝试了以下值:!@#$%^&*()-=+_';":.,<>/?

如果我使用escape() javascript中的函数,显示的值与实际值不匹配:%21@%23%24%25%5E%26*%28%29-%3D+_%27%3B%3A.%2C%3C%3E/%3F

如何解析这个值并按原样显示?

最佳答案

您只需担心<>&"人物。您可以将这些字符替换为 html 等效字符。

LINK_URL.replace(/&/g, "&amp;").replace(/>/g, "&gt;").replace(/</g, "&lt;").replace(/"/g, "&quot;");

或者你可以用更优雅的方式来做到这一点:

String.prototype.htmlEscape = function() {
return this.replace(/&/g, "&amp;").replace(/>/g, "&gt;").replace(/</g, "&lt;").replace(/"/g, "&quot;");
}

LINK_URL.htmlEscape();

这是一个working example

关于javascript - 如何绕过动态 anchor 标记中的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28765221/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com