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 相关文章推荐
JQuery 浮动导航栏实现代码
Aug 27 Javascript
读jQuery之十四 (触发事件核心方法)
Aug 23 Javascript
关于锚点跳转及jQuery下相关操作与插件
Oct 01 Javascript
JS 获取滚动条高度示例代码
Oct 24 Javascript
jquery中插件实现自动添加用户的具体代码
Nov 15 Javascript
Bootstrap Table使用心得总结
Nov 29 Javascript
jQuery实现百度登录框的动态切换效果
Apr 21 jQuery
详解react如何在组件中获取路由参数
Jun 15 Javascript
通过button将form表单的数据提交到action层的实例
Sep 08 Javascript
Bootstrap模态对话框中显示动态内容的方法
Aug 10 Javascript
微信小程序实现的canvas合成图片功能示例
May 03 Javascript
微信小程序实现列表的横向滑动方式
Jul 15 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
静态html文件执行php语句的方法(推荐)
2016/11/21 PHP
JS维吉尼亚密码算法实现代码
2010/11/09 Javascript
关于js拖拽上传 [一个拖拽上传修改头像的流程]
2011/07/13 Javascript
JavaScript通过RegExp实现客户端验证处理程序
2013/05/07 Javascript
javascript函数式编程程序员的工具集
2015/10/11 Javascript
javascript结合Flexbox简单实现滑动拼图游戏
2016/02/18 Javascript
关于js中的鼠标事件总结
2017/07/11 Javascript
Vue.js实现列表清单的操作方法
2017/11/15 Javascript
解决vue-cli3 使用子目录部署问题
2018/07/19 Javascript
Vue实现美团app的影院推荐选座功能【推荐】
2018/08/29 Javascript
原生JS利用transform实现banner的无限滚动示例代码
2020/06/15 Javascript
JavaScript语法约定和程序调试原理解析
2020/11/03 Javascript
[02:14]2016国际邀请赛中国区预选赛Ehome晋级之路
2016/07/01 DOTA
Python实现获取操作系统版本信息方法
2015/04/08 Python
python2.7实现爬虫网页数据
2018/05/25 Python
python3.x 将byte转成字符串的方法
2018/07/17 Python
Python闭包函数定义与用法分析
2018/07/20 Python
python-opencv获取二值图像轮廓及中心点坐标的代码
2019/08/27 Python
python return逻辑判断表达式实现解析
2019/12/02 Python
使用Python通过oBIX协议访问Niagara数据的示例
2020/12/04 Python
萨克斯第五大道精品百货店: Saks Fifth Avenue
2017/04/28 全球购物
农药学硕士毕业生自荐信
2013/09/25 职场文书
企业宣传方案
2014/03/04 职场文书
创业者迈进成功第一步:如何写创业计划书?
2014/03/22 职场文书
党支部承诺书范文
2014/03/28 职场文书
贷款委托书范本
2014/04/08 职场文书
计算机网络专业求职信
2014/06/05 职场文书
买房子个人收入证明
2014/10/12 职场文书
教师群众路线教育实践活动学习笔记
2014/11/05 职场文书
初中作文评语集锦
2014/12/25 职场文书
离职感谢信怎么写
2015/01/22 职场文书
2015年班组建设工作总结
2015/05/13 职场文书
车间班组长竞聘书
2015/09/15 职场文书
银行文明优质服务培训心得体会
2016/01/09 职场文书
Python+uiautomator2实现自动刷抖音视频功能
2021/04/29 Python
用Python进行栅格数据的分区统计和批量提取
2021/05/27 Python