美文网首页
通过正则获取到参数值

通过正则获取到参数值

作者: 记录学习生活 | 来源:发表于2021-10-13 17:24 被阅读0次
/**
 * [通过参数名获取url中的参数值]
 * 示例URL:http://htmlJsTest/getrequest.html?uid=admin&rid=1&fid=2&name=小明
 * @param  {[string]} queryName [参数名]
 * @return {[string]}           [参数值]
 */
function GetQueryValue(queryName) {
    var reg = new RegExp("(^|&)" + queryName + "=([^&]*)(&|$)", "i");
    var r = window.location.search.substr(1).match(reg);
    /**
    *如果url中‘?’前面有‘#’,就要把search换成hash,需要截取几位字符串根据‘?’前面有几位具体设置
    *var r = window.location.search.substr(1).match(reg);
    */
    if ( r != null ){
       return decodeURI(r[2]);
    }else{
       return null;
    }
 }

调用

var queryVal=GetQueryValue('name');
console.log(queryVal);// 小明

search和hash的区别
search: ? 后的部分,又称为查询字符串 "?name=kang&when=2016"
hash: 返回 # 之后的内容 "#first"
注意上面的search和hash的区别,如果URL中?之前有一个#比如:“http://localhost:63342/index.html#/version?type=35&id=5”那么使用window.location.search得到的就是空(“”)。因为“?type=35&id=5”串字符是属于“#/version?type=35&id=5”这个串字符的,也就是说查询字符串search只能在取到“?”后面和“#”之前的内容,如果“#”之前没有“?”search取值为空。
详情参考

相关文章

  • 获取url的参数

    获取URL中的参数名及参数值的集合 通过参数名获取url中的参数值 通过正则获取到参数值;

  • 通过正则获取到参数值

    调用 search和hash的区别search: ? 后的部分,又称为查询字符串 "?name=kan...

  • 小程序内嵌H5公众号授权

    思路:小程序登录获取到openId后通过微信的回调地址传参、再走微信公众号的通过code获取openId授权。 获...

  • js截取文字,解码方法

    使用正则只截取文字 微信小程序跳转传参时遇到的问题,通过js字符串解码方法解决了 如: 直接获取只能获取到:"哈哈...

  • 谓词和正则表达式

    正则表达式 iOS中,通过传入正则表达式字符串,获取到NSRegularExpression对象,使用matche...

  • Objective-C通过AFN使用Soap来请求webServ

    公共方法 调用传参 通过正则表达式取出XML节点数据,正则表达式:(?<=GetInventoryListResu...

  • JMETER下参数传递

    使用正则表达提取器获取变量值,并向变量赋值: 为了向其他线程组传参,需要把数值存放到Property类型变量中: ...

  • 2020-04-10

    正则表达式篇(三个场景) 正则与数值 正则与颜色 正则与URL node篇

  • Django URL传参

    1. 正则表达式匹配传参: 链接网页形如:/list/python/时,通过正则表达式匹配到字符串"python"...

  • Swift利用反射机制(Mirror)获取类的属性列表与值

    通过反射机制可以不用继承(当然也可以继承)NSObject就可以获取到属性列表,而如果要通过OC的RunTime获...

网友评论

      本文标题:通过正则获取到参数值

      本文链接:https://www.haomeiwen.com/subject/cbheoltx.html