JavaScript 查找拆分字符在字符串中的位置

JavaScript Find Where Splited Character İn String

str="#%%90safas'+!%27%";

我打开 "for" 并尝试拆分 str 变量中的所有“%”字符。

如果str.split("%")[i].substr(0,2).length !=2则替换成str变量中的%25

所以我想做:str="#%25%90safas'+!%27%25";

我正在尝试使用 JavaScript 解决 decodeURIComponent 的 URI 格式错误错误。但我不知道如何选择拆分的百分比字符 substr(0,2).length 不是 2 然后将其替换为 "%25"

谁能帮帮我?

您似乎患有 X-Y problem。检查子字符串的长度是否为 2 实际上不会做任何有用的事情。相反,您可以使用负前瞻的正则表达式:

str = str.replace(/%(?![0-9a-f]{2})/ig, "%25");