jq获取文件后缀的方法

var file = "测试文档1111111111.docx"; // 文件
var fileName = file.replace(/.*(\/|\\)/, ""); // 获得文件名
var fileSuffix = (/[.]/.exec(fileName)) ? /[^.]+$/.exec(fileName.toLowerCase()) : ''; // 获得文件后缀
var file = "测试文档1111111111.docx";
var dot = file.lastIndexOf(".");
var type = file.substr(dot);
var fileSuffix = "";
if(type === ".jpg" || type === ".gif" || type === ".JPG" || type === ".GIF" || type === ".pdf" || type === ".docx" || type === ".doc"){fileSuffix = type;
}

jq解析window.location

console.log(window.location.href) // 当前URL;例子:https://baijiahao.baidu.com/s?id=1625846473808878131&wfr=spider&for=pc
console.log(window.location.protocol) // 协议;例子:https:
console.log(window.location.hostname) // 域名;例子:baijiahao.baidu.com
console.log(window.location.origin) // 协议+域名;例子:https://baijiahao.baidu.com
console.log(window.location.search) // 请求参数;例子:?id=1625846473808878131&wfr=spider&for=pc

jq解析URL参数

function getParameter(name) {// 正则:[找寻'&' + 'url参数名字' = '值' + '&']('&'可以不存在)let reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");let r = window.location.search.substr(1).match(reg);if(r != null) {// 对参数值进行解码return unescape(r[2]); }return null;
}// 调用方法,注意需要传入String类型的数据,输出结果为String类型
getParameter('id');   // '123'
// 使用正则表达式来匹配全路径下的?后的参数,避免#的干扰
const getUrlValue = function (name) {let href = location.hrefreturn decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(href) || [, ""])[1].replace(/\+/g, '%20')) || null
}getUrlValue('inApp')
/*** @param name 获取参数名* 调用方法,注意需要传入String类型的数据,输出结果为String类型* getUrlParameter('id') // '123'*/
const getUrlParameter = function (name) {// 正则:[找寻'&' + 'url参数名字' = '值' + '&']('&'可以不存在)let reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)')let r = window.location.search.substr(1).match(reg)if (r != null) {// 对参数值进行解码return unescape(r[2])}return null
}/**
* 解析URL传参
* @param {Object} key
*/
const getQueryString = function (key) {var after = window.location.search// 如果url中没有传参直接返回空if (after.indexOf('?') === -1) {return ''}// key存在先通过search取值如果取不到就通过hash来取after = after.substr(1) || window.location.hash.split('?')[1]if (after) {var reg = new RegExp('(^|&)' + key + '=([^&]*)(&|$)')var r = after.match(reg)if (r != null) {return decodeURIComponent(r[2])} else {return ''}}
}// 使用正则表达式来匹配全路径下的?后的参数
const getUrlValue = function (name) {let href = location.hrefreturn decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(href) || ['', ''])[1].replace(/\+/g, '%20')) || null
}const getUrlParse = function () {let url = window.location.searchlet 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 getUrlParses = function () {let url = window.location.href.split('#')[1]console.log(window.location.href)let querys = url.substring(url.indexOf('?') + 1).split('&')// let href = window.location.href;// if (href.indexOf('groupmessage') > -1 || href.indexOf('singlemessage') > -1 || href.indexOf('timeline') > -1) {//   href = href.replace(/\?from=(groupmessage|singlemessage|timeline)(\S*)#/, '#');//   console.log("getUrlParses -> href", href)//   // window.location.href = href;// }let result = {}// 如果url中没有传参直接返回空if (url.indexOf('?') === -1) {return {}}for (let i = 0; i < querys.length; i++) {let temp = querys[i].split('=')if (temp.length < 2) {result = {}} else {result[temp[0]] = temp[1]}}return result
}// export default getUrlParameter
export {getUrlParameter,getQueryString,getUrlValue,getUrlParse,getUrlParses
}

获取url参数

// $.getUrlValue('id')
getUrlValue(name) {let href = location.hrefreturn (decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(href) || ['', ''])[1].replace(/\+/g,'%20')) || null)
},

删除URL中的某个参数

// $.delParamsQuery('id')
delParamsQuery(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} else {return window.location.href;};
},

判断是否在微信

// $.isWX()  true or false
isWX() {let wxInfo = navigator.userAgent.toLowerCase() // 判断是否在微信中打开if (wxInfo.match(/MicroMessenger/i) == 'micromessenger') {window.localStorage.setItem('isWX', true)return true} else {window.localStorage.setItem('isWX', false)return false}
}

数组拼接

let union = a.concat(b)

修改修改对象中的数据

// 修改对象中的数据
this.setData({['prizeList[' + 4 + '].prizePic']: 'url'
})

js常用方法,JS实用方法,jq获得文件后缀,解析window。location,解析URL参数相关推荐

  1. Python 实用技巧 —— 批量修改文件后缀(类型)

    批量修改文件后缀(属性) 1.1 读取目录并切分 1.2 获取文件前后缀名 1.3 文件重命名思路 1.4 os.rename 实现重命名 1.5 批量修改文件属性 思路: 读取目录下文件的类型(os ...

  2. js页面跳转 和 js打开新窗口方法

    js页面跳转 和 js打开新窗口 方法 Js返回上一页: 1. Javascript 返回上一页 history.go(-1), 返回两个页面: history.go(-2); 2. history. ...

  3. js获取url参数vue.js获取url参数 JQ获取url参数

    在WEB开发中,时常会用到javascript来获取当前页面的url网址信息,在这里是我的一些获取url信息的小总结. 1.window.location.href(设置或获取整个 URL 为字符串) ...

  4. asp.net mvc jquery ajax post,使用ASP.NET MVC在JS文件中设置jQuery的ajax url

    这样可以充分利用MVC路由,以便充分利用MVC框架. 灵感来自于stusmith的答案. 在这里我有一个ActionController的动作javascript为这个URL的动作: /applica ...

  5. Js+DVML:很酷实用的右键弹出菜单

    <HTML xmlns:v><HEAD> <head> <meta http-equiv="Content-Type" content=& ...

  6. JS通过window location href下载文件

    最近在写文件下载,发现前端实现下载功能是依赖于浏览器特性,而非JS特性. 前端实现文件下载主要分为以下情况 1.在页面直接点击某个元素,然后另存为,弹出下载提示框 2.直接输入网址,确定,弹出下载提示 ...

  7. 【js】js资料(2)

    1.document.write(""); 输出语句 2.JS中的注释为// 3.传统的HTML文档顺序是:document->HTML->(head,body) 4. ...

  8. js获取地址栏url以及获取url参数

    js原生态写法  代码如下 复制代码 function getUrlParam(name) {     var reg = new RegExp("(^|&)"+ name ...

  9. js 获取url参数(函数封装)

    本篇总结js获取url参数的几种方式,再最后,封装了一个函数,用来获取url中的参数. (一)关于获取url的一些基础知识 1, window.location.href 整个URl字符串(在浏览器中 ...

最新文章

  1. ImageNet时代将终结?何恺明新作:Rethinking ImageNet Pre-training
  2. Android自定义绘制 绘制基础
  3. C#通用类库--设置开机自运行禁用任务管理器注册表等操作
  4. 1.2.3 Using Option Files
  5. Linux内核编程广泛使用的前向声明(Forward Declaration)
  6. opengl es java_java – 在Android OpenGL ES App中加载纹理
  7. 2750个通用停用词表整理,免费下载
  8. 程序员学会精刷LeetCode后,会变得有多强...
  9. Android实战简易教程五(ListView用法研究)
  10. Stm32学习(基于HAL库)
  11. 叶聪:朋友圈爆款背后的计算机视觉技术与应用
  12. 用计算机谈狂狼,抖音狂狼原唱是谁 抖音狂狼完整版歌词
  13. 程序员的痛点:我竟然还不懂Linux性能优化
  14. 关于eMule下载伤硬盘的话题(官方解释)
  15. java poi excel合并单元格 相同的列以及在有父级约束条件下合并二级列
  16. 应用商店调研-豌豆荚
  17. Ubuntu安装libnccl.so.2
  18. [GDKOI2016]魔卡少女
  19. 用于呼叫控制的JAIN SIP
  20. C语言——喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水, 给20元,可以多少汽水

热门文章

  1. mbot机器人自动超声波模式程序_垃圾分类管家小程序 垃圾自动分类机器人,垃圾分类助手垃圾分类系统学习 AI自动垃圾分类识别...
  2. 怎么在c语言里输入数组元素,如何在不输入n的情况下输入数组中的元素? (C )...
  3. OpenJudge NOI 1.7 08:字符替换
  4. 信息学奥赛一本通(1408:素数回文数的个数)
  5. 字符串处理 —— 单模式匹配 —— MP 算法与 KMP 算法
  6. 2 PP配置-一般设置-为工厂分配工厂日历
  7. 42 CO配置-控制-产品成本控制-成本对象控制-实际成本核算/物料分类帐-激活实际成本核算
  8. 高级语言中的关键字:const用法分析
  9. linux suse 安装redis,suse 安装redis(示例代码)
  10. OpenCV稀疏矩阵SparseMat