JavaScript正则表达式小技巧

写在前面:

关于Javascript正则表达式的使用办法在网上一搜一大堆,这里只是罗列一些个人印象较为深刻的觉得比较有意思的使用技巧,大牛绕道。

正文开始:

1) 试想下面这个场景,当我们需要获得当前url中所有参数/值键值对的时候,我们应该怎样使用正则表达式呢?假设需要处理的url如下:

http://www.baidu.com/#wd=google&rsv_bp=0&tn=baidu&rsv_spt=3&ie=utf-8&rsv_sug3=6&rsv_sug4=179&rsv_sug1=1&rsv_sug2=0&inputT=8

最优的使用办法是:
    var maps = {};
    
    window.location.href.replace(/[#?&](\w+)=([\w\d]+)/g,  function (all, key, value) {
        maps[key] = value;

    });

通过console.log()可以看到在控制台打印的maps对象:

  1. {
  2.     ie"utf",
  3.     inputT"8",
  4.     rsv_bp"0",
  5.     rsv_spt"3",
  6.     rsv_sug1"1",
  7.     rsv_sug2"0",
  8.     rsv_sug3"6",
  9.     rsv_sug4"179",
  10.     tn"baidu",
  11.     wd"google"
  12. }

这里只说明一点, 回调函数中的参数个数是由正则表达式中的子组来决定的。
      



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值