javascript的replace方法结合正则使用实例总结


Posted in Javascript onJune 16, 2016

本文实例总结了javascript的replace方法结合正则使用方法。分享给大家供大家参考,具体如下:

replace()方法用于在字符串中用一些字符替换另一些字符,或者替换一个正则表达式匹配的字符串

例子一:直接使用repalce替换

var stringObj="终古人民共和国,终古人民";
//替换错别字“终古”为“中国”
//并返回替换后的新字符
//原字符串stringObj的值没有改变
var newstr=stringObj.replace("终古","中国");
//中国人民共和国,终古人民
alert(newstr);

例子二:使用正则表达式,全部替换

var str="终古人民共和国,终古人民";
var newstr=str.replace(/(终古)/g,"中国");
//中国人民共和国,中国人民
alert(newstr);

等价于

var reg=new RegExp("终古","g"); //创建正则RegExp对象
var stringObj="终古人民共和国,终古人民";
var newstr=stringObj.replace(reg,"中国");
alert(newstr);

例子三:正则表达式,变量匹配

var resource="终古";
var target="中国";
var reg=new RegExp(resource,"g"); //创建正则RegExp对象
var stringObj="终古人民共和国,终古人民";
var newstr=stringObj.replace(reg,target);
alert(newstr);

例子四:正则分组匹配

var strM = "javascript is a good script language";
//$1匹配的是javascript,$2匹配的是is
//最终返回的值是"javascript is fun. it is" + strM
//即javascript is 被替换为 javascript is fun. it is
alert(strM.replace(/(javascript)\s*(is)/g,"$1 $2 fun. it $2"));

例子五:使用回调函数做详细处理

var name="aaa bbb ccc";
//name字符串去匹配/\b\w+\b/g表达式,结果有三个——aaa,bbb,ccc;每个结果执行function里面的方法
var uw = name.replace(/\b\w+\b/g,function(word){
  //word是匹配的字符串
  alert(word);
 return word.substring(0,1).toUpperCase()+word.substring(1);
});
alert(uw);

例子六:比较生僻的写法

var reg=new RegExp("(http://www.qidian.com/BookReader/)(\\d+),(\\d+).aspx","gmi");
var url="http://www.qidian.com/BookReader/1017141,20361055.aspx";
//方式一,最简单常用的方式
var rep=url.replace(reg,"$1ShowBook.aspx?bookId=$2&chapterId=$3");
alert(rep);
//方式二 ,采用固定参数的回调函数
var rep2=url.replace(reg,function(m,p1,p2,p3){
 return p1+"ShowBook.aspx?bookId="+p3+"&chapterId="+p3
});
alert(rep2);
//方式三,采用非固定参数的回调函数
var rep3=url.replace(reg,function(){
 var args=arguments;
 return args[1]+"ShowBook.aspx?bookId="+args[2]+"&chapterId="+args[3];
});
alert(rep3);
function ReplaceDemo(){
 var r, re;      // 声明变量。
 var ss = "The rain in Spain falls mainly in the plain.";
 // \s表示的是空格,则\S表示的是非空格,因此/(\S+)(\s+)(\S+)/g匹配的是“非空格空格非空格”的结果
 //匹配的结果有The rain、in Spain、falls mainly、in the
 //替换后的结果有rain The、Spain in、mainly falls、the in
 re = /(\S+)(\s+)(\S+)/g;  // 创建正则表达式模式。
 //更改匹配结果之间的顺序
 r = ss.replace(re, "$3$2$1"); // 交换每一对单词。
 return(r);      // 返回结果字符串。
}
alert(ReplaceDemo());
name = "Doe, John";
//更改两个单词之间的顺序
var temp = name.replace(/(\w+)\s*, \s*(\w+)/, "$2 $1");
alert(temp);
function SDReplaceData(objStr)
{
 return objStr.replace( /(\&|\')/g,
   function($0, $1)
   {
    return{
     "&" : "&"
    , "'" : "'"
    }[$1];
   }
   );
}
Javascript 相关文章推荐
让你的博客飘雪花超出屏幕依然看得见
Jan 04 Javascript
在线一元二次方程计算器实例(方程计算器在线计算)
Dec 22 Javascript
对之前写的jquery分页做下升级
Jun 19 Javascript
JavaScript Promise 用法
Jun 14 Javascript
Javascript将数字转化成为货币格式字符串
Jun 22 Javascript
最简单纯JavaScript实现Tab标签页切换的方式(推荐)
Jul 25 Javascript
修改jquery中dialog的title属性方法(推荐)
Aug 26 Javascript
vue.js的手脚架vue-cli项目搭建的步骤
Aug 30 Javascript
ES6中Class类的静态方法实例小结
Oct 28 Javascript
ES6 Iterator接口和for...of循环用法分析
Jul 31 Javascript
js函数柯里化的方法和作用实例分析
Apr 11 Javascript
vue 导航菜单刷新状态不消失,显示对应的路由界面操作
Aug 06 Javascript
jQuery插件实现文件上传功能(支持拖拽)
Aug 27 #Javascript
jQuery插件实现图片轮播特效
Jun 16 #Javascript
javascript正则表达式之分组概念与用法实例
Jun 16 #Javascript
js学习阶段总结(必看篇)
Jun 16 #Javascript
原生js封装二级城市下拉列表的实现代码
Jun 16 #Javascript
jQuery获取剪贴板内容的方法
Jun 16 #Javascript
javascript作用域、作用域链(菜鸟必看)
Jun 16 #Javascript
You might like
php如何连接sql server
2015/10/16 PHP
Laravel 加载第三方类库的方法
2018/04/20 PHP
浅谈PHP各环境下的伪静态配置
2019/03/13 PHP
Javascript与vbscript数据共享
2007/01/09 Javascript
论坛里点击别人帖子下面的回复,回复标题变成“回复 24# 的帖子”
2009/06/14 Javascript
基于jquery的cookie的用法
2011/01/10 Javascript
ajax与302响应代码测试
2013/10/23 Javascript
jQuery对象的selector属性用法实例
2014/12/27 Javascript
JavaScript实现向setTimeout执行代码传递参数的方法
2015/04/16 Javascript
在JavaScript中操作时间之getMonth()方法的使用
2015/06/10 Javascript
javascript中caller和callee详解
2015/08/10 Javascript
Node.js中npm常用命令大全
2016/06/09 Javascript
基于jQuery.validate及Bootstrap的tooltip开发气泡样式的表单校验组件思路详解
2016/07/18 Javascript
浅谈js停止事件冒泡 阻止浏览器的默认行为(阻止超连接 #)
2017/02/08 Javascript
vue项目如何监听localStorage或sessionStorage的变化
2021/01/04 Vue.js
python多线程http下载实现示例
2013/12/30 Python
对python中GUI,Label和Button的实例详解
2019/06/27 Python
python multiprocessing多进程变量共享与加锁的实现
2019/10/02 Python
python的faker库用法
2019/11/28 Python
python numpy 反转 reverse示例
2019/12/04 Python
Pytorch 之修改Tensor部分值方式
2019/12/27 Python
如何教少儿学习Python编程
2020/07/10 Python
如何基于Python Matplotlib实现网格动画
2020/07/20 Python
Python读写csv文件流程及异常解决
2020/10/20 Python
html5使用canvas画三角形
2014/12/15 HTML / CSS
越南电子产品购物网站:FPT Shop
2017/12/02 全球购物
无畏的旅行:Intrepid Travel
2017/12/20 全球购物
德国运动鞋网上商店:Afew Store
2018/01/05 全球购物
2015年幼儿园毕业感言
2014/02/12 职场文书
学生会招新策划书
2014/02/14 职场文书
婚礼证婚人演讲稿
2014/09/13 职场文书
教师拔河比赛广播稿
2014/10/14 职场文书
2016母亲节感恩话语
2015/12/09 职场文书
幼儿园语言教学反思
2016/02/23 职场文书
JavaScript实现班级抽签小程序
2021/05/19 Javascript
mysql insert 存在即不插入语法说明
2022/03/25 MySQL