str="#%%90safas'+!%27%";
我打开“ for”,然后尝试在str变量中拆分所有“%”字符。
如果str.split("%")[i].substr(0,2).length !=2
,则将其替换为str变量中的%25
所以我想做:str="#%25%90safas'+!%27%25";
我正在尝试使用JavaScript的解码URI组件解决URI格式错误。但是我不知道如何选择哪个分割百分比字符substr(0,2).length不是2,然后将其替换为“%25”
有人可以帮助我吗?
答案 0 :(得分:1)
您似乎患有X-Y problem。检查子串的长度是否为2实际上并不会做任何有用的事情。相反,您可以使用前瞻性为负的正则表达式:
str = str.replace(/%(?![0-9a-f]{2})/ig, "%25");