• 技术文章 >web前端 >js教程

    JS对URL处理

    不言不言2018-04-04 13:26:13原创1210
    本篇文章的内容是JS对URL的处理,现在在这里分享给大家,有感兴趣的朋友也可以参考一下本片的内容

    ///调用
    /// var request = GetRequestParms();
    /// request["参数"]
    function GetRequestParms(name) {
    var url = location.search; //获取url中"?"符后的字串
    var theRequest = new Object();
    if (url.indexOf("?") != -1) {
    var str = url.substr(1);
    strs = str.split("&");
    for (var i = 0; i < strs.length; i++) {
    if (strs[i].split("=")[0].toLowerCase() == name) {
    continue;
    }
    theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
    }
    }
    return theRequest;
    }
    ///追加或者更改Url参数
    ///例子changeURLPar(test, 'id', 99); // http://www.huistd.com/?id=99&ttt=3
    ///changeURLPar(test, 'haha', 33); // http://www.huistd.com/?id=99&ttt=3&haha=33


    function changeURLPar(destiny, par, par_value) {
    var pattern = par + '=([^&]*)';
    var replaceText = par + '=' + par_value;
    if (destiny.match(pattern)) {
    var tmp = '/\\' + par + '=[^&]*/';
    tmp = destiny.replace(eval(tmp), replaceText);
    return (tmp);
    }
    else {
    if (destiny.match('[\?]')) {
    return destiny + '&' + replaceText;
    }
    else {
    return destiny + '?' + replaceText;
    }
    }
    return destiny + '\n' + par + '\n' + par_value;
    }


    ///例子changeURLParm(test, 'id', 99); // http://www.huistd.com/?id=99&ttt=3
    ///changeURLParm(test, 'haha', 33); // http://www.huistd.com/?id=99&ttt=3&haha=33
    function changeURLParm(url, ref, value) {
    var str = "";
    if (url.indexOf('?') != -1)
    str = url.substr(url.indexOf('?') + 1);
    else
    return url + "?" + ref + "=" + value;
    var returnurl = "";
    var setparam = "";
    var arr;
    var modify = "0";
    if (str.indexOf('&') != -1) {
    arr = str.split('&');
    for (i in arr) {
    if (arr[i].split('=')[0] == ref) {
    setparam = value;
    modify = "1";
    }
    else {
    setparam = arr[i].split('=')[1];
    }
    returnurl = returnurl + arr[i].split('=')[0] + "=" + setparam + "&";
    }
    returnurl = returnurl.substr(0, returnurl.length - 1);
    if (modify == "0")
    if (returnurl == str)
    returnurl = returnurl + "&" + ref + "=" + value;
    }
    else {
    if (str.indexOf('=') != -1) {
    arr = str.split('=');
    if (arr[0] == ref) {
    setparam = value;
    modify = "1";
    }
    else {
    setparam = arr[1];
    }
    returnurl = arr[0] + "=" + setparam;
    if (modify == "0")
    if (returnurl == str)
    returnurl = returnurl + "&" + ref + "=" + value;
    }
    else
    returnurl = ref + "=" + value;
    }
    return url.substr(0, url.indexOf('?')) + "?" + returnurl;
    }

    相关推荐:

    JS的表单传值与URL编码转换详解

    php如何使用URL获得网页内容

    以上就是JS对URL处理 的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:javascript 处理
    上一篇:使用Nginx避免ajax的跨域请求 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 一文详解Node中的模块化、文件系统与环境变量• 为什么要用debugger来调试代码?这样你能读懂各种源码!• 一文聊聊Node包管理发展的五个阶段• 一文探究Angular中的服务端渲染(SSR)• 带你了解Angular组件间进行通信的几种方法
    1/1

    PHP中文网