js modify link parameters

js modify link parameters

For example, you need to modify the parameters in the callback

The value of callback is: " http://blog.whuang.com/search?username=90003819861 "

The value of the parameter username needs to be modified to abc

Expected result is: 'http://blog.whuang.com/search?username=abc'

Core method:

  /**
     * callback link to add parameters or modify parameters
     * @param callback
     * @param key
     * @param val2
     * @returns {*}
     */
    parseCallbackUrl: function (callback, key, val2) {
 if (!callback) {
            return '';
        }
callback = callback.replace(/#$/, '');
        if (callback.indexOf('?') == -1) {
            callback = callback + '?' + key + '=' + val2;
        } else if (callback.indexOf('&' + key + '=') == -1 && callback.indexOf('?' + key + '=') == -1) {
            callback = callback + '&' + key + '=' + val2;
        } else {
            var regExp = new RegExp('([&?]' + key + '=)[^&]*', '');
            callback = callback.replace(regExp, ('$1' + val2));
        }
        return callback;
    }

 

Test code:

var url='http://blog.whuang.com/search?username=90003819861';
        console.log(urlUtil.parseCallbackUrl(url,'username','abc'));

        url='http://blog.whuang.com/search?a=b&username=90003819861';
        console.log(urlUtil.parseCallbackUrl(url,'username','abc'));

        url='http://blog.whuang.com/search?a=b&username=';
        console.log(urlUtil.parseCallbackUrl(url,'username','abc'));

        url='http://blog.whuang.com/search?rusername=90003819861';
        console.log(urlUtil.parseCallbackUrl(url,'username','abc'));

        url='http://blog.whuang.com/search';
        console.log(urlUtil.parseCallbackUrl(url,'username','abc'));

        url='http://blog.whuang.com/search?userName=';
        console.log(urlUtil.parseCallbackUrl(url,'username','黄威'));

 

 

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326922348&siteId=291194637