url中特殊字符转义为原始字符

1.参数信息在url中传递的时候url里面的特殊字符转义的情况,但是在加载的时候可能会无法加载转义后的url信息

转译规则

     空格 用%20代替

     " 用%22代替

     # 用%23代替

    % 用%25代替

    &用%26代替

    ( 用%28代替

    ) 用%29代替

   + 用%2B代替

    , 用%2C代替

    / 用%2F代替

    : 用%3A代替

    ; 用%3B代替

   < 用%3C代替

   = 用%3D代替

   > 用%3E代替

   ? 用%3F代替

   @ 用%40代替

    \ 用%5C代替

    | 用%7C代替

url中特殊字符转义为原始字符函数

function decodeUrl (url) {
  const codes = [
    {
      key: '%20',
      value: ' '
    },
    {
      key: '%22',
      value: '\'\''
    },
    {
      key: '%23',
      value: '#'
    },
    {
      key: '%25',
      value: '%'
    },
    {
      key: '%26',
      value: '&'
    },
    {
      key: '%28',
      value: '('
    },
    {
      key: '%29',
      value: ')'
    },
    {
      key: '%2B',
      value: '+'
    },
    {
      key: '%2C',
      value: ','
    },
    {
      key: '%2F',
      value: '/'
    },
    {
      key: '%3A',
      value: ':'
    },
    {
      key: '%3B',
      value: ';'
    },
    {
      key: '%3C',
      value: '<'
    },
    {
      key: '%3D',
      value: '='
    },
    {
      key: '%3E',
      value: '>'
    },
    {
      key: '%3F',
      value: '?'
    },
    {
      key: '%40',
      value: '@'
    },
    {
      key: '%5C',
      value: '\\'
    },
    {
      key: '%7C',
      value: '|'
    },
  ];
  for (let item of codes) {
    if (url.includes(item.key)) {
      const targetValue = url.replace(item.key, item.value);
      return this.decodeUrl(targetValue);
    }
  }
  return url;
};
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值