Регулярное выражение JavaScript заменяет%2F на%21

Мне нужен JavaScript/ регулярное выражение для замены%2F на%21

Это сделано для того, чтобы после применения encodeURIComponent() к URL-адресу я мог передавать косые черты через параметр GET.

Когда он достигнет серверной части, я вернусь обратно! к /

Это не идеальное решение, но больше ничего не работает с моими правилами переписывания.

2 ответа

Решение

Хорошо, я решил эту проблему, и потребовалось много исследований, потому что я не такой талантливый, как некоторые люди здесь. Я думал, что поделюсь решением в любом случае.

По сути, сервер будет преждевременно декодировать% 2F, как только он будет использован, так что вы получите путь, который будет абсолютно неверным.

Вам нужно заменить% 2F на%252F на стороне клиента.

x = x.replace(/%2F/gi, "%252F");

Это двойная кодированная форма% 2F.

Поэтому, когда он достигает сервера, он преждевременно декодируется в% 2F вместо прямой косой черты.

Пожалуйста.

Вы пробовали String.replace?

x = x.replace(/%2F/gi, "%21");
Другие вопросы по тегам