通过正则格式化url查询字符串实现代码
代码 实现 查询 字符串 通过 url 格式化 正则
2023-06-13 09:14:43 时间
看到项目里通过js数组split方法格式化查询字符串的,突发奇想为什么不能用正则呢,性能如何?于是便有了如下代码:
复制代码代码如下:
varurl="www.baidu.com?a=123&b=456&c=789&e=dfsdfsdfsdfsdfsdfsdf&f=46545454545454785&g=e23232dsfvdfvdf";
/**
*格式化查询字符串(正则实现)
*@paramurlurl地址
*@return{Object}格式化的json对象
*/
functionformatUrl(url){
varreg=/(?:[?&]+)([^&]+)=([^&]+)/g;
vardata={};
functionfn(str,pro,value){
data[decodeURIComponent(pro)]=decodeURIComponent(value);
}
url.replace(reg,fn);
returndata;
}
/**
*格式化查询字符串(数组实现)
*@paramurlurl地址
*@return{Object}格式化的json对象
*/
functionformatUrl2(url){
url=url.replace(/.*\?/,"");
varargs={},
items=url.length?url.split("&"):[]
,item=null
,i=0
,len=items.length;
for(i=0;i<items.length;i++){
item=items[i].split("=");
args[decodeURIComponent(item[0])]=decodeURIComponent(item[1]);
}
returnargs;
}
varstartTime=newDate();
for(vari=0;i<1000000;i++){
formatUrl2(url);
}
console.log("formatUrl2",(newDate()-startTime));//formatUrl212138
startTime=newDate();
for(vari=0;i<1000000;i++){
formatUrl(url);
}
console.log("formatUrl",(newDate()-startTime));//formatUrl12537
测试浏览器是chrme25;正则实现的函数居然比数组实现的函数要慢(泪奔....)。不过还好,在重复执行一百万次的情况下只慢0.4秒
相关文章
- Android 代码混淆规则
- word2vec的原理及实现(附github代码)
- 状态机/流程引擎/审批流的流程引擎/结合低代码开发的流程引擎 区别 业务系统中使用流程引擎「建议收藏」
- java实现十进制转十六进制_十进制转十六进制java代码
- 生态学建模:增强回归树(BRT)预测短鳍鳗生存分布和影响因素|附代码数据
- 电视剧里的代码真能运行吗?
- R语言预测期货波动率的实现:ARCH与HAR-RV与GARCH,ARFIMA模型比较|附代码数据
- 为在线客服系统接入chatGPT(四):chatGPT接口vue网页版,可以联系上下文语境,可以实现自己的chatGPT,附代码
- SAP UI5 本地开发如何实现 XML 和 JavaScript 代码的自动完成和嵌入式 API 文档自动显示
- 代码篇——Easyui的formatter实现超链接跳转页面详解编程语言
- Mysql控制台输出教程,轻松实现查询优化和代码调试(mysql输出控制台)
- 用php实现批量查询清除一句话后门的代码
- Sql语句与存储过程查询数据的性能测试实现代码
- php与XML、XSLT、Mysql的结合运用实现代码
- PHP实现域名whois查询的代码(数据源万网、新网)
- Jquery实现无刷新DropDownList联动实现代码
- ASP.NETGridview与checkbox全选、全不选实现代码
- MySQL随机查询数据与随机更新数据实现代码
- jQuery实现原理的模拟代码-6代码下载
- 使用jquery为table动态添加行的实现代码
- asp.net中使用自定义控件的方式实现一个分页控件的代码
- mysql多表联合查询返回一张表的内容实现代码
- 从textarea中获取数据之后按原样显示实现代码
- php抽奖小程序的实现代码
- php实现查询百度google收录情况(示例代码)
- C#Socket连接请求超时机制实现代码分享
- javascript获取form里的表单元素的示例代码
- ASP多条件查询功能实现代码(多关键词查询)
- VB实现的递归复制文件和搜索文件的代码分享