JavaScript将url地址快速变成键值对的JavaScript对象形式

来源:互联网 发布:java api接口编写实例 编辑:程序博客网 时间:2024/05/18 02:43

这是一个高端的,逼格爆表的JavaScript正则表达式及字符串匹配函数的综合应用。

本人非常受教,链接来自 http://jingyan.baidu.com/article/870c6fc30e01ecb03fe4be0f.html?qq-pf-to=pcqq.c2c 百度经验。

以下是问题描述:

--------------------------

给你一字符串,如图

str = "https://www.baidu.com?name=lili&age=20&gender=男";


要求以尽可能“高逼格”的方式转换成kv对象形式,如下图。



该怎么办?

常规的截取字符串的方式我就不说了,没意思。

下面进入正题。
其实代码很短:
function parseStrObjByRegExp(strDes) {    var obj = {};    strDes.replace(/(\w+)(?:=([^;]*))?/g, function (str, key, value) {        obj[key] = value;    });    return obj;}var obj = parseStrObjByRegExp("name=jack;age=20;love=lily");

具体自己体会,最后得到的obj对象就是键值对形式。


这段代码涉及到两个知识点:

我分别找两个截图如下:
1图来自:http://blog.csdn.net/hxkjnet360/article/details/17063311


2图来自:http://www.w3school.com.cn/jsref/jsref_replace.asp



这是两个比较冷门又很实用的知识点,我很佩服写出这段代码的人。


===================

拓展:

从正则表达式的 ?:*** 让我们拓展一下:

正则表达式问号的几种用法


以及  




也就是 与?结合使用的一些正则表达式模式。

很值得研究一下。




0 0
原创粉丝点击