博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用javascrit获取url传递的参数
阅读量:5291 次
发布时间:2019-06-14

本文共 1782 字,大约阅读时间需要 5 分钟。

1.获取url所有的参数

      我们可以直接通过window.location.search来取得这部分,也就是我们需要的url参数。当url没有包含?时,window.location.search会返回undefined。

function getUrlVal(str){    if(!str || str.indexOf('?') != 0) return false;    var urlValArry = str.replace('?','').split('&');    var urlValObject = {};    for(var i in urlValArry){        urlValObject[urlValArry[i].split('=')[0]] = urlValArry[i].split('=')[1];    };    return urlValObject;};//  https://github.com/search?utf8=%E2%9C%93&q=javascriptvar urlStr = window.location.search.replace('?','');console.log(getUrlVal(urlStr));  //输出 Object {utf8: "%E2%9C%93", q: "javascript"}

2.获取url中指定键名(name)的键值(val)

function getOneVal(str,name){    if(!str || str.indexOf('?') != 0) return false;    var afterNameStr = str.replace('?','').split(name)[1];    var strFirstSite = afterNameStr.indexOf('&');    // 返回第一个&位置,如果没有'&'则返回字符串长度    strFirstSite = (strFirstSite == -1) ? afterNameStr.length : strFirstSite    var reslt = afterNameStr.slice(1,strFirstSite);    return reslt;};//  'http://www.gotoplay.com/active?itemtype=sport&active=basketball&time=20160614&place=N230&peopleNum=657'var urlStr = window.location.search;console.log(getOneVal(urlStr,'time'))  //输出20160614console.log(getOneVal(urlStr,'peopleNum'))  //657

3.利用正则表达式来获取参数( 强大的正则总是让人心生向往,利用正则无疑是最简洁优雅的一种方法)

 (1)获取指定某个参数   

function getUrlParam(url,name){    if(!name) return;    var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i'),        r = url.substr(1).match(reg);    if (r != null) {        return (r[2]);    }else{        return null;    }}

 (2)获取所有的参数

function parse_url(url){    if(!url) return;    var pattern = /(\w+)=(\w+)/ig;    var parames = {};    url.replace(pattern, function(a, b, c){        parames[b] = c;    });    return parames;}

 

     

转载于:https://www.cnblogs.com/zhaoqiming/p/8074584.html

你可能感兴趣的文章
Ewebeditor最新漏洞及漏洞大全
查看>>
socket计划编制的原则
查看>>
sqlite3经常使用命令&语法
查看>>
[leetcode] 309. Best Time to Buy and Sell Stock with Cooldown(medium)
查看>>
解决微信授权回调页面域名只能设置一个的问题 [php]
查看>>
数组去重一步到位
查看>>
HDU 4671 Backup Plan 构造
查看>>
linux下编译openjdk8
查看>>
【python】--迭代器生成器装饰器
查看>>
Pow(x, n)
查看>>
安卓当中的线程和每秒刷一次
查看>>
MySQL Proxy
查看>>
关于Vue的组件的通用性问题
查看>>
随机颜色值
查看>>
每日一库:Modernizr.js,es5-shim.js,es5-safe.js
查看>>
目录相关的操作
查看>>
解决虚拟机vmware安装64位系统“此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态”的问题...
查看>>
C++----练习--引用头文件
查看>>
11.基本包装类型
查看>>
ajax连接服务器框架
查看>>