SOURCE

const customOrigin = [
    'https://cp.m.kuaishou.com',
    'https://cp-h5-creator.staging.kuaishou.com',
    'https://cp-2022-dev1.test.gifshow.com',
    'https://cp-2022-dev3.test.gifshow.com',
    'https://cp-2022-cxl.test.gifshow.com',
    'http://cp-h5-suhai.test.gifshow.com',
    'https://gandalf-staging.kproxy.corp.kuaishou.com',
    'https://cp-h5-staging.kproxy.corp.kuaishou.com',
    'https://cp-h5-pre.kproxy.corp.kuaishou.com',
    'https://cp-h5-creator.prt.kuaishou.com',
];

const origin = 'https://wwww.baidu.com';

function isReplaceUrl(url) {
    return customOrigin.some((item) => url.startsWith(item));
}

const testFn = (url) => {
    // url是可替换的域名,则使用当前域名覆盖url中的域名
    if (isReplaceUrl(url)) {
        url = url.replace(/^https:\/\/[^/]+/, origin);
    }
    console.log(url);
}

const otherFn = (url) => {
    const matchStr = customOrigin.find(item => url.startsWith(item));
    if (matchStr) {
        url = url.replace(matchStr, origin)
    }
}

const replaceReg = (url) => {
    const reg = /^https:\/\/(cp.m.kuaishou.com|cp-2022-dev1.test.gifshow.com)/;
    url = url.replace(reg, origin)
}

const testUrl = 'https://cp-2022-dev1.test.gifshow.com/2022/app-creator-center/';
console.time('testFn');
testFn(testUrl);
console.timeEnd('testFn')

console.time('otherFn');
otherFn(testUrl);
console.timeEnd('otherFn')

console.time('replaceReg');
replaceReg(testUrl);
console.timeEnd('replaceReg')
console 命令行工具 X clear

                    
>
console