一句话获取url中指定的参数

LightTools中VBA宏的编写入门 LightTools和VBA联动 阅读详情

今天在工作中我遇到了如下需求,需要在一串的url中获取到指定参数的值
举个例子:

var  str = "http://www.ccc.com?id=123&name=test";

现在我需要获取参数列表中的id项。有很多方法可以达成这个目的,比如我将这个url串的请求参数部分进行格式化,之后使用格式化后的结果来获取我需要的参数。

function  getQueryString(name,str){
	var  result = {};
	if( str ){
		var  search = str.split('?')[1];
		search.split('&').forEach(function(val,index){
			var  temp = val.split('=');
			result[ temp[0] ] = result[ temp[1] ];
		});
	}	
	return  result[name] ? result[name] : "";
}

但是这不是我想要的结果,这明明是一个简单的功能,我却还要写一个函数,有没有更简单的方法呢?结果是,当然有。方法就是使用强大的正则表达式来实现这个功能,方法如下:

var  str = "http://www.ccc.com?id=123&kid=567&name=test";
var  result = str.split('?')[1].match(/(^|&)id=([^&]*)/)[2];
console.log(result);//123

你没有看错,结果就是这么简单!!!
对这个正则表达式简单的进行一下解释
表达式 /(^|&)id=(^&)*/中 (^|)的意思很简单,就是在该正则表达式中,这一部分要么是^要么是&,连接后面的id=的意思就是,要么以id=开头,要么就是匹配&id=
表达式中的(^&)*的意思是匹配任意个非&符的字符,也就是匹配到下一个&符之前的字符
表达式的意思说清楚了,接下来就是关于正则表达式中的match的用法了,这里简单的说明一下。
match用法

match() 方法将检索字符串 stringObject,以找到一个或多个与 regexp 匹配的文本。这个方法的行为在很大程度上有赖于 regexp 是否具有标志 g。

如果 regexp 没有标志 g,那么 match() 方法就只能在 stringObject 中执行一次匹配。如果没有找到任何匹配的文本, match() 将返回 null。否则,它将返回一个数组,其中存放了与它找到的匹配文本有关的信息。该数组的第 0 个元素存放的是匹配文本,而其余的元素存放的是与正则表达式的子表达式匹配的文本。除了这些常规的数组元素之外,返回的数组还含有两个对象属性。index 属性声明的是匹配文本的起始字符在 stringObject 中的位置,input 属性声明的是对 stringObject 的引用。

如果 regexp 具有标志 g,则 match() 方法将执行全局检索,找到 stringObject 中的所有匹配子字符串。若没有找到任何匹配的子串,则返回 null。如果找到了一个或多个匹配子串,则返回一个数组。不过全局匹配返回的数组的内容与前者大不相同,它的数组元素中存放的是 stringObject 中所有的匹配子串,而且也没有 index 属性或 input 属性。

match 得到的结果如下:
[“id=123”, “”, “123”, index: 0, input: “id=123&name=test”, groups: undefined]

通过上面的描述,我们知道在该列中,返回的数组的第一项是匹配的结果,第二项是分组一(^|&)的结果,第三项是分组([^&]*)的结果,也是我们想要的结果。

OS实验xv6 6.S081 开坑 OS实验xv6 6.S081 开坑 终于把xv6 2019 6.S081做完了,网络部分没有写,因为有计网实验了。怎么说呢,xv6的坑有点多,能做完多亏了:和我同学ljj交流,参考RedemptionC老哥的博客(他写的非常详细,遗憾的是,他好像没有写mmap),再者就是参考这位老哥的做法(没有源码,写得不是特别详细,不过有借鉴作用,mmap就是借鉴了他的思想)……废话不多说了,直接开始。 实验指导 首推RedemptionC的博客 这位老哥的个人博客 xv6 6.S081官网(后面的实验都要参考官网 阅读详情

相关推荐

VLA模型(具身智能入门十)

Vision Language Action(VLA)模型VLA模型是机器人领域的“感知-理解-执行”一体化框架,通过Transformer架构融合视觉、语言、动作模态,核心目标是让机器人在自然语言驱动下,自主完成复杂操控任务。其定义的核心在于“跨模态统一”与“具象化行动”——不仅能“看懂”“听懂”,更能“做出正确的动作”,是实现通用机器人智能的关键方向。提供通用序列建模骨架,让视觉、语言、动作能以“序列”形式统一处理;ViT将视觉输入转换为序列特征,提供“看”的能力;LLMs。

weixin_39699362的博客 9927

url取值的两种方式

url传参取值的两种方式

qq_38990521的博客 1761

HyperMesh实战:用Field工具搞定复杂载荷映射(附TCL脚本示例)

本文深入探讨了HyperMesh中Field工具在复杂载荷映射中的高级应用,包括从CSV到有限元网格的温度场映射全流程、稀疏数据处理技巧及TCL自动化脚本示例。通过Field工具,工程师可以高效实现CFD温度场到结构网格的精准映射,显著提升有限元分析的精度与效率。

white的博客 265

从url中获取指定参数的值

从url中获取指定参数的值 url 参数

u013361179的博客 1017

LabVIEW机器视觉通用软件

LabVIEW 通用视觉一款仿C模式的思想与方法 全网最精简零基础+通用视觉全套视频教程 只想把LabVIEW当作一种兴趣,结果却当成了职业 http://t.elecfans.com/c1181.html 本次(开源 )针对有一定视觉基础或项目开发经验的工程师量身打造视觉通用性系统(完全仿面向对象的原理),相对于一般的非标框架更具功能性,有效的解决复杂项目开发过程中的思路瓶颈。 LabVIEW通用视觉系统:通用软件可快速解决大部分简单的视觉开发项目,帮助众多软件工程师解决在非标视觉软件开发中的繁琐过程问

qq_21516871的博客 4610

视觉巡线小车(STM32+OpenMV)——技术总结

在现代机器人技术中,视觉巡线是一种常见的导航方式,它允许机器人通过识别和跟踪地面上的线路来自主导航。本文将总结使用STM32微控制器和OpenMV视觉模块来实现视觉巡线小车的关键技术和步骤。

weixin_66608063的博客 3078

截取url中的参数值小结

window.location.search : 从当前URL的?号开始的字符串 。 function getParam(oname,url11){ url11 = decodeURIComponent(url11); if (url11.indexOf("?") != -1)  { var str11 = url11.substr(1); var strs11 = str11.s

PromiscuousYouth的博客 1866

告别手动打点!用Cesium为你的大疆无人机快速生成区域巡查航线(保姆级教程)

本文详细介绍了如何利用Cesium平台为大疆无人机快速生成区域巡查航线的保姆级教程。通过自动化航线规划,告别传统手动打点的繁琐操作,实现高效、无死角的区域覆盖。文章涵盖环境搭建、实战案例及高级优化技巧,特别适合无人机操作员和巡检工作者提升工作效率。

weixin_30399821的博客 519

获取url中的某个值的方法

一、 关于获取id的代码片段 其方法的原理都是获取url 然后进行字符串的截取操作 1 方法一:此为对象的形式,单引函数的情况下要转换成函数形式 function getUrl(){} getUrl: function (name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"...

weixin_41757599的博客 1452

PX4从放弃到精通(十一):混控及PWM输出

文章目录前言一、混控脚本二、使用步骤1.引入库2.读入数据总结 前言 一个人可以走的更快,一群人才能走的更远,交流学习加qq:2096723956 更多保姆级PX4+ROS学习视频:https://b23.tv/ZeUDKqy 分享知识,传递正能量,如有疏漏或不当之处,恳请指出. 一、混控脚本 混控脚本定义了不同 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、使用步骤 1.引入库 代码如下(示例): import numpy as np import pand

超维空间科技的博客 1万+

069、PCIE属性字段:缓存、顺序与安全

上个月调试一块自研的PCIE采集卡,遇到了一个诡异的问题:主机通过DMA从设备读取图像数据,大部分帧正常,但偶尔会出现局部数据错位,像是缓存没刷干净。用逻辑分析仪抓链路层报文,发现TLP(事务层包)本身完好,但内存中的数据就是不对。排查三天后,终于锁定在设备端TLP的**属性字段(Attribute Field)**配置上——那几位看似不起眼的缓存、顺序控制位,差点让项目延期。今天我们就拆解PCIE事务头中的这个关键区域,看看它如何影响系统性能与数据安全。

z534437748的博客 50

sql server返回参数值,根据url

目录提示1、语句,直接执行即可2、调用方法 提示 此函数速度稍稍有些慢,可以根据实际业务,做缓存等进行优化。 1、语句,直接执行即可 ALTER FUNCTION [dbo].[GetParamByUrl] ( @url VARCHAR(1000), --地址 @para varchar(100) --待获取值的参数名 ) RETURNS VARCHAR(300) AS BEGIN DECLARE @str VARCHAR(MAX) = ''; DECLARE @item2 VARCHAR(MA

王永安的博客 670

LeetCode 面试经典 150 题回顾

最经典 150 题,掌握面试所有知识点 面试经典 150 题 : 题目分析、解题思路、复杂度分析、代码展示

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 8万+

java获取url中的指定参数

如何实现Java获取URL中的指定参数 作为一名经验丰富的开发者,我将指导你如何在Java中获取URL中的指定参数。这是一项常见的任务,尤其在Web开发中经常会遇到。我们将通过以下步骤来完成这个任务: 整体流程 下表展示了我们将要执行的步骤: 步骤 描述 1 获取URL 2 解析URL获取参数键值对 ...

weixin_35133182的博客 773

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

获取移除指定Url参数(原创)

1 /// <summary> 2 /// 移除指定的Url参数 3 /// 来自:http://www.cnblogs.com/cielwater 4 /// </summary> 5 /// <param name="Url">Url地址</param...

weixin_30399871的博客 748

js获取当前域名、Url、相对路径和参数以及指定参数

一、用js获取当前域名 1.方法一 var domain = document.domain; 2.方法二 var domain = window.location.host; 注意:由于以上方法获取的时候是没有获取到http://或者https://,做判断和切割时需要注意。 二、用js获取当前的url 1.方法一...

rainbow 1210

根据指定的参数截取URL然后获取指定参数的参数值

public static void main(String[] args) { String url = "https://web?id=1&amp;page=12&amp;name=吴彭正&amp;param=111"; String result = urlSplit(url,"name"); System.out.println(result); } /** ...

u011935772的专栏 1465

Js获取URL中的指定参数

平时项目中页面跳转需要携带参数,为方便获取URL中指定参数 整理了两个方法 方法1:URLSearchParams() URLSearchParams对象定义了操作URL传递参数的方法 //获取url传递的信息?之后的参数 function GetUrlParmas(name){ let query = location.search; let searc...

Colt666的博客 1724

获取url参数

题目描述 获取 url 中的参数 1.指定参数名称,返回该参数的值 或者 空字符串 2.不指定参数名称,返回全部的参数对象 或者 {} 3.如果存在多个同名参数,则返回数组 示例1 输入 http://www.nowcoder.com?key=1&key=2&key=3&test=4#hehe key 输出 [1, 2, 3] 解法1: function getUrlParam(sUrl, sKey) { var str = sUrl.split('?')[1].sp

独酌101112的博客 1831

jquery 获取url指定参数

jQuery获取URL指定参数的科普文章 在Web开发中,我们经常需要获取URL中的参数,以便根据这些参数来执行特定的操作或显示特定的内容。jQuery是一个快速、小巧且功能丰富的JavaScript库,它提供了许多方便的方法来简化HTML文档操作、事件处理、动画和Ajax交互。本文将介绍如何使用jQuery来获取URL中...

weixin_41280628的博客 623

Uniapp URL地址栏获取指定参数

Uniapp获取URL地址栏中的指定参数

扑街仔小贵的博客 1万+

jquery获取url参数及url加参数的方法

使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作,下面通过文字说明加代码分析的形式给大家解析,具体详情请看下文。 1、jquery获取url很简单,代码如下:   复制代码代码如下: window.location.href;     其实只是用到了javascript的基础的window对象,并没有用jquery的知识。 2、jquery获取u...

m0_37747750的博客 3449

java获取url中参数_获取url参数(java / js)

(1)js// 获取url参数function getQueryString(url, name) {console.log("url = " + url)console.log("name = " + name)var reg = new RegExp('(^|&|/?)' + name + '=([^&|/?]*)(&|/?|$)', 'i')var r = url.s...

weixin_31807925的博客 3150

Java给指定URL字符串添加值和获取URL字符串中的参数值

在指定url后追加参数 /** * 在指定url后追加参数 * @param url * @param data 参数集合 key = value * @return */ private static String appendUrl(String url, Map<String, Object> data) { String newUrl = url; ...

dream317 2431
上一篇: 我为什么写博客
下一篇: JS中数组方法详解
izwell
博客等级 码龄14年 16粉丝 88原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值