获取url中的参数方法,避免#的干扰,删除url指定参数(vue hash模式 有#删除指定参数问题)
function urlParse() {let url = window.location.search;let obj = {};let reg = /[?&][^?&]+=[^?&]+/g; // 正在表达式let arr = url.match(reg);// 得到数组:['?id=12345', '&a=b']if (arr) {arr.forEach(item => {let tempArr = item.substring(1).split('=');let key = decodeURIComponent(tempArr[0]);let val = decodeURIComponent(tempArr[1]);obj[key] = val;});}return obj;
}
// 使用正则表达式来匹配全路径下的?后的参数,避免#的干扰
const getUrlValue = function (name) {let href = location.hrefreturn decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(href) || ["", ""])[1].replace(/\+/g, '%20')) || null
}getUrlValue('inApp')
const getUrlParses = function () {var url = window.location.href// 如果url中没有传参直接返回空if (url.indexOf('?') === -1) {return null}var querys = url.substring(url.indexOf('?') + 1).split('&')var result = {}for (var i = 0; i < querys.length; i++) {var temp = querys[i].split('=')if (temp.length < 2) {result = null} else {result[temp[0]] = temp[1]}}console.log("getUrlParses -> result", result)return result
}
删除url指定参数
function deleteParams(name){var loca = window.location;var baseUrl = loca.origin + loca.pathname + "?";var query = loca.search.substr(1);if (query.indexOf(name)>-1) {var obj = {}var arr = query.split("&");for (var i = 0; i < arr.length; i++) {arr[i] = arr[i].split("=");obj[arr[i][0]] = arr[i][1];};delete obj[name];var url = baseUrl + JSON.stringify(obj).replace(/[\"\{\}]/g,"").replace(/\:/g,"=").replace(/\,/g,"&");return url};
}
删除url指定参数(vue hash模式 有#删除指定参数问题)
function deleteParams(name) {var loca = window.location;var baseUrl = loca.origin + loca.pathname + loca.hash.substring(0, loca.hash.indexOf('?') + 1);var query = loca.hash.substring(loca.hash.indexOf('?') + 1);if (query.indexOf(name) > -1) {var obj = {}var arr = query.split("&");for (var i = 0; i < arr.length; i++) {arr[i] = arr[i].split("=");obj[arr[i][0]] = arr[i][1];};delete obj[name];var url = baseUrl + JSON.stringify(obj).replace(/[\"\{\}]/g, "").replace(/\:/g, "=").replace(/\,/g, "&");return url}
},
获取url中的参数方法,避免#的干扰,删除url指定参数(vue hash模式 有#删除指定参数问题)相关推荐
- javascript 操作 url 中 search 部分方法函数
javascript 操作 url 中 search 部分方法函数 前言 首先,我们需要知道什么是 search , search 是 window.location 的一个属性.举个例子: 首先,我 ...
- 【IOC 控制反转】Android 事件依赖注入 ( 事件依赖注入具体的操作细节 | 获取 Activity 中的所有方法 | 获取方法上的注解 | 获取注解上的注解 | 通过注解属性获取事件信息 )
文章目录 前言 一.获取 Activity 中的所有方法 二.获取方法上的注解 三.获取注解上的注解 四.通过注解属性获取相关事件信息 前言 Android 依赖注入的核心就是通过反射获取 类 / 方 ...
- 三个获取浏览器URL中参数值的方法
这三个是一般的获取浏览器传的参数值的方法,之前有用unescape()解码的方法,但是遇到汉字会产生乱码,所以用decodeURI(); 方法一: function getQueryString(na ...
- url中出现“%22”等如何处理?如何判断url中是否有“%22等”?如何获取当前网址?传入多个参数在url上? encodeURL和(js)
let url = `http://xxxxxxx?key1=value1&key2=%7B%22id%22%3A%22o8x0oxCIK_Mo9qD48iTmPC0KVFpQ%22,%22h ...
- jar 工程我怎么在网页上url访问某一个方法_Java高级编程之URL处理
URL(Uniform Resource Locator)中文名为统一资源定位符,有时也被俗称为网页地址.表示为互联网上的资源,如网页或者FTP地址. 本章节我们将介绍Java是如处理URL的.URL ...
- Ionic3在ts中获取html中值的方法
我觉得有两种方法,都是Angular中的语法,一种是把值当做参数传递,另一种是使用ngModel实现双向绑定 还有一种很少用到的,Js的原生方法:document.getElementById('ch ...
- java正则获取数字_Java通过正则表达式获取字符串中数字的方法示例
前言 本文通过一个小范例来学习java中通过正则表达式如何获得一个字符串中的数字,下面话不多说,来看看详细的介绍吧. 示例代码如下: import java.util.regex.Matcher; i ...
- 关于servlet中出现GET方法不能应用于此url的解决办法
这种情况其实很简单,新手用户往往会出现这种问题,尤其是在用IDE的自动重写方法的功能时,不管你是用doGet()方法还是service()方法,首先要做的都是删除IDE自动生成的super. serv ...
- 获取微信中的音频方法
针对我的chrome浏览器 step1.把微信对应的文章用PC浏览器打开 step2.F12 -> 进入审查元素界面 step3.依次按照下图操作.注意如果name中没有东西,可以先在网页上播放 ...
最新文章
- 用Visual C#创建Windows服务程序
- CSS + DIV 让页脚始终底部
- Bochs调试Linux内核初步学习 - 3
- php mysql update 返回_php mysql_query增删改查(update delete insert)返回值类型
- bzoj 3055礼物运送 floyed + 状压DP
- 使用httpclient4.3.2来实现微信临时素材的上传
- [EMU8086]基于8086的汇编语言学习
- Hihocoder 最近公用祖先三 在线LCA
- 在Golang中使用Protobuf
- 蚂蚁链发布BTN,有什么用?
- 微信小程序的民宿客房预订uniapp小程序
- 【编程知识】常用参考表对照表
- linux系统如何使用qq,Linux系统中怎么使用QQ
- Java基础——常用对象API(4):集合框架5:Map集合
- 2019数字音乐市场年度回顾,QQ音乐全面领先
- 他是马化腾的偶像,拒绝马云的应聘 !如今劝年轻人不要太拼、要认命......
- 接龙管家-Python自动打卡
- ASUS TUF GAMING B660M PLUS WIFI D4 i5-12600K RX6650XT 黑苹果efi引导文件
- 透视HTTP协议(一) —— HTTP是什么
- IDEA 解决 artifacts not found 问题
热门文章
- System Center Virtual Machine Manager 2012 安装
- ORM Designer for Rails Demo
- ZZULIOJ 1136: 首字母变大写
- python代码技巧_几个小技巧让你的Python代码更Pythonic
- 信息学奥赛一本通 1010:计算分数的浮点数值 | OpenJudge NOI 1.3 05
- 乘积最大(信息学奥赛一本通-T1275)
- 大整数减法(信息学奥赛一本通-T1169)
- 树莓派 python 无人机_DIY一个基于树莓派和Python的无人机视觉跟踪系统
- 一起学习C语言:C语言基本语法(二)
- STM32那点事(6)_定时器(上)