利用正则格式化url

<script type="text/javascript">
var url='www.baidu.com?a=666&b=000&c=2333&e=haha&f=qaq&g=MDZZ'; 

function formatUrl(url){ 
	var reg=/(?:[?&]+)([^&]+)=([^&]+)/g; //三个分组,并且不匹配第一个分组
	var data={}; 
	function fn(str,pro,value){ 
	data[decodeURIComponent(pro)]=decodeURIComponent(value); 
} 
url.replace(reg,fn); 
return data; 
} 
var data=formatUrl(url);

</script>


针对以上代码的简单分析:

1.忽略分组(不希望捕获分组,只需在分组内加“?:”)

 var reg=/(?:[?&]+)([^&]+)=([^&]+)/g;

2.

replace(str,replaceStr)  (找谁,换成谁)

replace(reg,function)

function会在每次匹配替换的时候调用,有四个参数

a.匹配字符串

b.正则表达式分组内容,没有分组则无此参数

c,匹配项在字符串中的index

d.原字符串(replace不会改原字符串值)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值