encodeURI 怎么只把url中的汉字转码

因为种种原因

let url = '/api/filter/getPage/90000/BILL?at=/layoutContent/03/page&title=采购申请&subTitle=采购申请一览'

只把url中的汉字encodeURI转码

阅读 3.9k
3 个回答
url.replace(/([^\u0000-\u00FF])/g, function ($) { return encodeURI($)})
let url = '/api/filter/getPage/90000/BILL?at=/layoutContent/03/page&title=采购申请&subTitle=采购申请一览'

function encodeURIForChinese(url) {
    let chineseArray = url.match(/[^\x00-\xff]+/ig);
    for (let i = chineseArray.length - 1; i >= 0; i--) {
        url = url.replace(chineseArray[i], encodeURIComponent(chineseArray[i]));
    }
    return url;
}
console.log(encodeURIForChinese(url));

function encodeChineseOnly(str){

        return encodeURI(str).replace(/([^\u0000-\u00FF])/g,escape)
    }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题