通常获取url后面的参数使用分割或正则
字符串分割

//字符串分割
let url = 'http://www.domain.com/?user=anonymous&id=456&city=%E5%8C%97%E4%BA%AC';const parseParam = (url)=>{const params = url.split('?')[1].split('&')console.log(params) /**[* 'user=anonymous',* 'id=456',* 'city=%E5%8C%97%E4%BA%AC',]*/let obj = {}//for in 遍历for (item in params){obj[params[item].split('=')[0]] = params[item].split('=')[1]}//forEarch||map遍历params.forEach(item => {obj[item.split('=')[0]] = item.split('=')[1]});console.log(obj) /*{ user: 'anonymous', id: '456', city: '%E5%8C%97%E4%BA%AC' }*/ (%E5%8C%97%E4%BA%AC 可使用 UrlDecode 转码)
}parseParam(url)

正则

let url = 'http://www.domain.com/?user=anonymous&id=456&city=%E5%8C%97%E4%BA%AC';const parseParam = (url)=>{let r = /\?(.+)/glet re = /(.+)&(.+)&(.+)/g //需根据参数调整 或直接使用 split 分割let arr = []let o = r.exec(url)[1]console.log(o) //user=anonymous&id=123&id=456&city=%E5%8C%97%E4%BA%AClet ob = re.exec(o)arr.push(ob[1],ob[2],ob[3])console.log('ob',ob,'arr',arr) /*ob ['user=anonymous&id=456&city=%E5%8C%97%E4%BA%AC','user=anonymous','id=456','city=%E5%8C%97%E4%BA%AC',index: 0,input: 'user=anonymous&id=456&city=%E5%8C%97%E4%BA%AC',groups: undefined] arr [ 'user=anonymous', 'id=456', 'city=%E5%8C%97%E4%BA%AC' ]*/let obj = {}arr.forEach(item => {obj[item.split('=')[0]] = item.split('=')[1]});for (item in arr){obj[arr[item].split('=')[0]] = arr[item].split('=')[1]}console.log(obj)//{ user: 'anonymous', id: '456', city: '%E5%8C%97%E4%BA%AC' }}parseParam(url)

正则改

const parseParam = (url)=>{let r = /\?(.+)/glet o = r.exec(url)[1]console.log(o) //user=anonymous&id=456&city=%E5%8C%97%E4%BA%AClet arr = o.split('&')let obj = {}arr.forEach(item => {obj[item.split('=')[0]] = item.split('=')[1]});for (item in arr){obj[arr[item].split('=')[0]] = arr[item].split('=')[1]}console.log(obj)//{ user: 'anonymous', id: '456', city: '%E5%8C%97%E4%BA%AC' }}parseParam(url)

现在新版浏览器提供了两个API可以直接获取

searchParams
//searchParams
let url = 'http://www.xxx.com/?user=lili&id=456&city=%E5%8C%97%E4%BA%AC';const parseParam = (url)=>{let o =(new URL(url)).searchParamsconsole.log(o) // URLSearchParams {// 'user' => 'anonymous',//    'id' => '456',//    'city' => '北京',//}for(item of o){console.log(item) //[ 'user', 'anonymous' ]//[ 'id', '456' ]//[ 'city', '北京' ]}}parseParam(url)
URLSearchParams
//URLSearchParams
let url = 'http://www.domain.com/?user=anonymous&id=456&city=%E5%8C%97%E4%BA%AC';const parseParam = (url)=>{const params = url.split('?')console.log(params)// URLSearchParams {//    'http://www.xxx.com/?user' => 'anonymous',//    'id' => '456',//    'city' => '北京',//} (使用node环境测试结果)let obj = new URLSearchParams(params[1])console.log(obj) // URLSearchParams {// 'user' => 'anonymous',//    'id' => '456',//    'city' => '北京',//}(使用node环境测试结果)for(item of obj){console.log(item) //[ 'user', 'anonymous' ]//[ 'id', '456' ]//[ 'city', '北京' ]}}parseParam(url)

获取URL params相关推荐

  1. html的子页面获取自己url,如何从html页面获取url参数并将其显示在textarea中?

    我用下面的在我的HTML页面的JavaScript功能,我想没有textarea的任何连接操作正常显示参数....如何从html页面获取url参数并将其显示在textarea中? function g ...

  2. 如何获取URL中的参数

    获取URL中的参数 1. 使用JS函数获取URL参数 使用示例 2. Angular应用中,从URL中获取参数信息的方法 使用示例 ActivatedRoute属性 1. 使用JS函数获取URL参数 ...

  3. js获取url中的参数,url中传递中文的时候通过js解码的方式

    如果传递的参数是: <a href="${pageContext.request.contextPath}/productdisplay/productDisplay_productD ...

  4. php解析url并得到url中的参数及获取url参数的四种方式

    本文给大家介绍php解析url并得到url中的参数及获取url参数的四种方式,涉及到将字符串参数变为数组,将参数变为字符串的相关知识,本文代码简单易懂,感兴趣的朋友一起看看吧 下面一段代码是php解析 ...

  5. ASP.NET后台获取url

    站在服务器磁盘上的物理路径: HttpRuntime.AppDomainAppPath 虚拟程序路径: HttpRuntime.AppDomainAppVirtualPath 任何于Request/H ...

  6. react获取URL中参数

    这个问题想必很多人都会遇到过,这里我说一下怎么获取URL中的参数. react 获取URL原理: 在 react 组件的 componentDidMount 方法中打印一下 this.props,在浏 ...

  7. javaScript获取url中的参数

    var urlTools = {//获取RUL参数值getUrlParam: function(name) { /*?videoId=identification */var params = dec ...

  8. express中获取url参数

    问号传参获取参数 获取 http://127.0.0.1:3001/user?id=10&name=zs 中的查询参数: 直接使用 req.query 获取参数即可: 注意:URL 地址栏中通 ...

  9. [react-router] React-Router怎么获取URL的参数?

    [react-router] React-Router怎么获取URL的参数? 通过params 类组件:在保证props能获取到路由信息的前提下(如果不是直接嵌套在<Route/>下,需要 ...

最新文章

  1. 使用 iptables 限制***猜密码续—深入 recent 模块
  2. jq 地区(省市县区)联动菜单
  3. 网络模块(客户端的连接动作)
  4. SAP专家培训之Netweaver ABAP内存管理和内存调优实践
  5. 研究笔记:iOS中使用WebViewProxy拦截URL请求
  6. [react] react怎么提高列表渲染的性能?
  7. cuSPARSE库:(八)cusparseGetStream()
  8. 【Linux】服务管理命令和压缩管理的详细解读
  9. 2010-05-19 项目升级计划
  10. 使用作业自动清理数据库日志文件
  11. ue4序列帧ui_UE4动画序列帧通知机制(二)
  12. CCS软件的基础使用(以点灯为例)
  13. <零售数据分析-Pandas> 通过环比销售和库存对产品进行分类
  14. 仿么么街货源客模板源码 蚂蚁分类信息系统 带安装教程
  15. Python吴恩达深度学习作业15 -- YOLO原理及应用(自动驾驶——汽车检测)
  16. 半加器设计(结构描述法)
  17. Openlayers设置请求瓦片大小
  18. processing实现图像碎片化
  19. 零跑汽车股价再创数据新高
  20. Mac 卸载自己安装的python

热门文章

  1. 生成证书申请csr文件
  2. 爬取网页爆破目录的爬虫
  3. matlab没有定义标量,SQL创建了标量函数但显示不存在,如何解决
  4. Linux 环境变量详解
  5. 吾为困而学之望尔学而知之非困而不学者也
  6. python Faker制造假数据并以csv格式写到文件中
  7. 在虚拟机CentOS系统中安装ns2
  8. 前任3:由圣经故事通天塔想到公司部门间沟通协作
  9. 新用户创作打卡挑战赛第三期获奖名单
  10. 揭秘!大厂招聘内幕!如何才能进大厂