js replace正则表达式应用案例讲解
更新时间:2013年01月17日 16:30:36 作者:
js replace与正则表达式结合,可以有效发挥replace的功效,可以帮助用户解决替换中的复制问题,接下来详细介绍使用方法,感兴趣的朋友可以了解下
var url = "http://www.xxx.com/index.aspx?classid=9&id=2";
要获取尾巴参数
定义变量
function parse_url(_url){
//定义函数
var pattern = /(\w+)=(\w+)/ig;//定义正则表达式
var parames = {};//定义数组
url.replace(pattern, function(a, b, c){
parames[b] = c;
});
/*这是最关键的.当replace匹配到classid=9时.那么就用执行function(a,b,c);其中a的值为:classid=9,b的值为classid,c的值为9;(这是反向引用.因为在定义正则表达式的时候有两个子匹配.) 然后将数组的key为classid的值赋为9;然后完成. 再继续匹配到id=2;此时执行function(a,b,c);其中a的值为:id=2,b的值为id,c的值为2;然后将数组的key为id的值赋为2. */
return parames;//返回这个数组.
}
var parames = parse_url(url);
alert(parames['classid'] + ", " + parames['id']);//最后打印.根据key值来打印数组对应的值
var url = "http://attit.ppk365.com/084200001682"
var reg = /http:\/\/(.+)\/(\w+)/ig;
url.replace(reg, function(a,b,c){
alert(a); //得到 http://attit.ppk365.com/084200001682
alert(b); //得到 attit.ppk365.com
alert(c); //得到 084200001682
});
要获取尾巴参数
定义变量
复制代码 代码如下:
function parse_url(_url){
//定义函数
var pattern = /(\w+)=(\w+)/ig;//定义正则表达式
var parames = {};//定义数组
url.replace(pattern, function(a, b, c){
parames[b] = c;
});
/*这是最关键的.当replace匹配到classid=9时.那么就用执行function(a,b,c);其中a的值为:classid=9,b的值为classid,c的值为9;(这是反向引用.因为在定义正则表达式的时候有两个子匹配.) 然后将数组的key为classid的值赋为9;然后完成. 再继续匹配到id=2;此时执行function(a,b,c);其中a的值为:id=2,b的值为id,c的值为2;然后将数组的key为id的值赋为2. */
return parames;//返回这个数组.
}
var parames = parse_url(url);
alert(parames['classid'] + ", " + parames['id']);//最后打印.根据key值来打印数组对应的值
var url = "http://attit.ppk365.com/084200001682"
var reg = /http:\/\/(.+)\/(\w+)/ig;
url.replace(reg, function(a,b,c){
alert(a); //得到 http://attit.ppk365.com/084200001682
alert(b); //得到 attit.ppk365.com
alert(c); //得到 084200001682
});
相关文章
JavaScript/Js脚本处理html元素的自定义属性解析(亲测兼容Firefox与IE)
这篇文章主要是对JavaScript/Js脚本处理html元素的自定义属性解析(亲测兼容Firefox与IE)进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助2013-11-11
浅谈监听单选框radio改变事件(和layui中单选按钮改变事件)
今天小编就为大家分享一篇浅谈监听单选框radio改变事件(和layui中单选按钮改变事件),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-09-09
使用uniapp打包微信小程序时主包和vendor.js过大解决(uniCloud的插件分包)
每个使用分包小程序必定含有一个主包,所谓的主包,即放置默认启动页面/TabBar页面,以及一些所有分包都需用到公共资源/JS 脚本,下面这篇文章主要给大家介绍了关于使用uniapp打包微信小程序时主包和vendor.js过大解决的相关资料,,需要的朋友可以参考下2023-02-02
JavaScript中报错Cannot set properties of undefined (settin
这篇文章主要介绍了JavaScript中报错Cannot set properties of undefined (setting '1')的解决方案,文中通过代码介绍的非常详细,对大家学习或使用js具有一定的参考借鉴价值,需要的朋友可以参考下2025-03-03


最新评论