获取地址栏参数,支持传中文参数

本文介绍了如何使用JavaScript解析URL中的参数,并提供了两种不同的函数实现方法。一种是获取单个参数值,另一种是将所有参数解析为一个对象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

function getUrlParam(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); // 构造一个含有目标参数的正则表达式对象
    var r = window.location.search.substr(1).match(reg); // 匹配目标参数
    if (r != null)
        return decodeURIComponent(r[2]);
    return null; // 返回参数值
}    

1、substr(start,length) 方法可在字符串中抽取从 start 下标开始的指定数目的字符,start必须,length可选,可接负的参数,表示从字符串尾部算起。

2、substring(start,stop) 方法用于提取字符串中介于两个指定下标之间的字符,不包含stop处的字符,start必须,stop可选,不接受负的参数。

3、slice(start,end) 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分,可接负的参数。

3、window.location.search是从当前URL的?号开始的字符串,如:search就是?tid=22720。
4、match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配,返回值存放匹配结果的数组,该数组的内容依赖于 regexp 是否具有全局标志 g

 

将url参数解析成对象

function getParams() {
    var url = location.search; //获取url中"?"符后的字串 
    var obj= {};
    if (url.indexOf("?") != -1) {
        var str = url.substr(1);
        strs = str.split("&");
        for (var i = 0; i < strs.length; i++) {
            obj[strs[i].split("=")[0]] = (strs[i].split("=")[1]);
        }
    }
    return obj;
}

 

function getParams(){
    var obj = {};
    var keyvalue = [];
    var key = "",value = "";
    var url=window.location.href;
    var paraString = url.substring(url.indexOf("?") + 1, url.length).split("&");
    for (var i in paraString) {
        keyvalue = paraString[i].split("=");
        key = keyvalue[0];
        value = keyvalue[1];
        obj[key] = value;
    }
    return obj;
}            

  

转载于:https://www.cnblogs.com/mengyu22/p/7472769.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值