分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

获取地址栏URL中参数, getQuerySting()方法

发布时间:2023-09-06 01:44责任编辑:林大明关键词:暂无标签

今天同事用的以前的获取url地址参数获取不到.以前的方法失效了.后面发现是正则表达式bug:

第一种获取方法(针对普通情况的一般够用):

function getQueryString(name) { ???var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); ???var reg_rewrite = new RegExp("(^|/)" + name + "/([^/]*)(/|$)", "i"); ???var r = window.location.search.substr(1).match(reg); ???var q = window.location.pathname.substr(1).match(reg_rewrite); ???if(r != null){ ???????return unescape(r[2]); ???}else if(q != null){ ???????return unescape(q[2]); ???}else{ ???????return null; ???}}
第二种获取方法:
这样的url地址获取不到:file:///Users/wanghong/work/ziku/youle/dist/index.html?sourceType=Tsingtao_beer_activity#/welcome?toPath=file%3A%2F%2F%2FUsers%2Fwanghong%2Fwork%2Fziku%2Fyoule%2Fdist%2Findex.html%3FsourceType%3DTsingtao_beer_activity%23%2F
/** * 获取指定的URL参数值 * URL:http://www.quwan.com/index?name=tyler * 参数:paramName URL参数 * 调用方法:getParam("name") * 返回值:tyler */function getParam(paramName) { ???paramValue = "", isFound = !1; ???if (this.location.search.indexOf("?") == 0 && this.location.search.indexOf("=") > 1) { ???????arrSource = unescape(this.location.search).substring(1, this.location.search.length).split("&"), i = 0; ???????while (i < arrSource.length && !isFound) arrSource[i].indexOf("=") > 0 && arrSource[i].split("=")[0].toLowerCase() == paramName.toLowerCase() && (paramValue = arrSource[i].split("=")[1], isFound = !0), i++ ???} ???return paramValue == "" && (paramValue = null), paramValue}

大家都尝试一下.元宵节快乐

获取地址栏URL中参数, getQuerySting()方法

原文地址:https://www.cnblogs.com/luosiding/p/8494922.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved