牛客网编程题:获取url中的参数
来源:互联网 发布:java 时间戳 时区 编辑:程序博客网 时间:2024/06/03 11:26
获取 url 中的参数
题目描述:
1. 指定参数名称,返回该参数的值或者空字符串
2. 不指定参数名称,返回全部的参数对象或者 {}
3. 如果存在多个同名参数,则返回数组
示例:
输入
http://www.baidu.com?key=1&key=2&key=3&test=4, ‘key’
输出
[1, 2, 3]
解决办法1
function getUrlParam (url, sKey) { var result = {}; if (url.indexOf('?') < 0) { // 没有 ? ,则没有参数 return result; } url = url.split('?'); url = url[1].split('&'); let sUrl = url.slice(0); // 这时候 sUrl 形如 ["key=1","key=2","key=3","test=4"] for (var idx in sUrl) { var current = url[idx].split('='); // 形如:["key", '1'] var key = current[0]; if (result[key]) { result[key] = [].concat(result[key], current[1]); } else { result[key] = current[1]; } } // url : http://www.baidu.com?key=1&key=2&key=3&test=4&tt=5&test=2 // 这时候 result 形如:{"key":["1","2","3"],"test":["4","2"],"tt":["5"]} if (sKey) { return result[sKey] || ''; } else { return result; }}
解决办法2–正则表达式
function getUrlParam (url, sKey) { var result = {}; url.replace(/\??(\w+)=(\w+)&/g, function (a, b, c) { if (result[b]) { result[b] = [].concat(result[b], c); } else { result[b] = c; } }); if (sKey) { return result[sKey] || ''; } else { return result; }}
不得不说正则表达式是太强大了!
阅读全文
0 0
- 牛客网编程题:获取url中的参数
- 获取 url 中的参数
- Flex获取URL中的参数
- javascript 获取url中的参数
- Javascript获取URL中的参数
- Java获取URL中的参数
- JQuery获取Url中的参数
- javascript获取url中的参数
- 获取URL中的中文参数
- JS获取URL中的参数
- html获取URL中的参数
- MVC 获取url 中的参数
- js获取url中的参数
- 【转】获取URL中的 参数
- JS获取URL中的参数
- html获取url中的参数
- js获取url中的参数
- js获取url中的参数
- Django搭建微信后端(1)---回复消息和自定义菜单
- 【SQL】JDBC之与数据库MySQL的连接以及增删改查等操作
- coursera Algorithms week1 练习测验2:Union-find with specific canonical element
- PostgreSQL
- MySql存储过程与函数详解
- 牛客网编程题:获取url中的参数
- B1032. 挖掘机技术哪家强(20)
- Mycat之——Mycat在MySQL主从复制基础上实现读写分离
- Android音频系统之AudioFlinger(三)
- Java提高篇——Java 异常处理
- jQuery初识,常用的选择器、Ajax
- java代码装配bean
- 关于C++ Lambda表达式
- Android音频系统之AudioFlinger(四)