对Javascript中的所有特殊字符进行编码

我必须对在这里收到的字符串进行编码并将其作为 URL 参数传递,所以我不相信我可以传递 / 或括号(所以考虑到我有以下字符串


KEY WEST / Florida(FL)

我正在尝试以下操作


encodeURIComponent("KEY WEST / Florida(FL)")

"KEY%20WEST%20%2F%20Florida(FL)"


escape("KEY WEST / Florida(FL)")

"KEY%20WEST%20/%20Florida%28FL%29"

它们都没有编码我稍后可以在代码中解码的字符串,因为第一个保留 () ,第二个保留 /


我如何一次性完成此操作并在稍后需要时对其进行解码?


另外,似乎 escape() 已被弃用,所以首选哪种编码方式?


12345678_0001
浏览 82回答 1
1回答

慕运维8079593

对于 URL 编码,应该使用encodeURI和函数。encodeURIComponentencodeURI仅对特殊字符进行编码,同时encodeURIComponent也对 URL 中有意义的字符进行编码,因此它可用于对查询字符串进行编码等。该escape函数可以被视为已弃用,尽管官方不是这样,但应该避免使用。那么哪种编码方式是首选呢?对于整个 URL,encodeURI对于 URL 部分,例如片段的查询字符串,encodeURIComponent
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript