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

时间:2020-05-25 19:29:06

标签: javascript split malformed

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”

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

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

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