Javascript 正则表达式将 %2F 替换为 %21
Javascript Regular Expression Replace %2F with %21
我需要 javascript/regex 将 %2F 替换为 %21
这样我就可以在将 encodeURIComponent() 应用于 URL 后通过 GET 参数传递正斜杠。
当它到达服务器端时,我将从 !至 /
这不是一个理想的解决方案,但似乎没有其他方法适用于我的重写规则。
你试过了吗String.replace?
x = x.replace(/%2F/gi, "%21");
好的,我已经解决了这个问题,并且我进行了大量研究,因为我不像这里的某些人那样有才华。我想无论如何我都会分享解决方案。
基本上,服务器会在使用 %2F 后立即对其进行解码,因此您最终会得到一条完全错误的路径。
您需要做的是在客户端将 %2F 替换为 %252F。
x = x.replace(/%2F/gi, "%252F");
这是 %2F 的双重编码形式。
因此,当它到达服务器时,它会过早地解码为 %2F 而不是正斜杠。
不客气。
我需要 javascript/regex 将 %2F 替换为 %21
这样我就可以在将 encodeURIComponent() 应用于 URL 后通过 GET 参数传递正斜杠。
当它到达服务器端时,我将从 !至 /
这不是一个理想的解决方案,但似乎没有其他方法适用于我的重写规则。
你试过了吗String.replace?
x = x.replace(/%2F/gi, "%21");
好的,我已经解决了这个问题,并且我进行了大量研究,因为我不像这里的某些人那样有才华。我想无论如何我都会分享解决方案。
基本上,服务器会在使用 %2F 后立即对其进行解码,因此您最终会得到一条完全错误的路径。
您需要做的是在客户端将 %2F 替换为 %252F。
x = x.replace(/%2F/gi, "%252F");
这是 %2F 的双重编码形式。
因此,当它到达服务器时,它会过早地解码为 %2F 而不是正斜杠。
不客气。