2015-12-07 3 views
0

мне нужен JavaScript/регулярное выражение для замены% 2F с% 21Javascript Регулярное выражение Заменить% 2F с% 21

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

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

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

+0

Если бы вы хотели, проще было бы просто прокрутить строку и заменить ее самостоятельно. Регулярные выражения обычно используются для более сложного сопоставления строк, чем это. –

+0

было бы более эффективным для цикла, как вы думаете? –

+0

Зачем нужен цикл? Используйте 'replace'. Однако я не вижу проблемы с использованием регулярного выражения. –

ответ

1

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

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

Что вам нужно сделать, это заменить% 2F% 252F на стороне клиента.

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

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

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

Добро пожаловать.

1

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

x = x.replace(/%2F/gi, "%21"); 
Смежные вопросы