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 相关文章推荐
精通JavaScript 纠正 cleanWhitespace函数
Mar 11 Javascript
IE8 chrome中table隔行换色解决办法
Jul 09 Javascript
jquery连缀语法如何实现
Nov 29 Javascript
Javascript连接Access数据库完整实例
Aug 03 Javascript
discuz表情的JS提取方法分析
Mar 22 Javascript
Node.js readline模块与util模块的使用
Mar 01 Javascript
vue中使用极验验证码的方法(附demo)
Dec 04 Javascript
基于JS正则表达式实现模板数据动态渲染(实现思路详解)
Mar 07 Javascript
浅谈vue-props的default写不写有什么区别
Aug 09 Javascript
js实现鼠标滑动到某个div禁止滚动
Sep 17 Javascript
ant-design表单处理和常用方法及自定义验证操作
Oct 27 Javascript
简单谈谈offsetleft、offsetTop和offsetParent
Dec 04 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
虹吸式咖啡探讨–研磨
2021/03/03 冲泡冲煮
PHP中cookies使用指南
2007/03/16 PHP
判断是否为指定长度内字符串的php函数
2010/02/16 PHP
php下尝试使用GraphicsMagick的缩略图功能
2011/01/01 PHP
php语言的7种基本的排序方法
2020/12/28 PHP
php出租房数据管理及搜索页面
2017/05/23 PHP
页面版文本框智能提示JS代码
2009/11/20 Javascript
关于event.cancelBubble和event.stopPropagation()的区别介绍
2011/12/11 Javascript
jquery struts 验证唯一标识(公用方法)
2013/03/27 Javascript
javascript eval(func())使用示例
2013/12/05 Javascript
node.js中的querystring.stringify方法使用说明
2014/12/10 Javascript
jQuery fancybox在ie浏览器下无法显示关闭按钮的解决办法
2016/02/19 Javascript
jquery实现垂直和水平菜单导航栏
2020/08/27 Javascript
js获取元素下的第一级子元素的方法(推荐)
2017/03/05 Javascript
移动端触屏幻灯片图片切换插件idangerous swiper.js
2017/04/10 Javascript
Angular自定义组件实现数据双向数据绑定的实例
2017/12/11 Javascript
基于elementUI实现图片预览组件的示例代码
2019/03/31 Javascript
python 中的divmod数字处理函数浅析
2017/10/17 Python
利用scrapy将爬到的数据保存到mysql(防止重复)
2018/03/31 Python
python3爬取数据至mysql的方法
2018/06/26 Python
如何用Python实现简单的Markdown转换器
2018/07/16 Python
Python 使用folium绘制leaflet地图的实现方法
2019/07/05 Python
python+openCV调用摄像头拍摄和处理图片的实现
2019/08/06 Python
在python中使用pyspark读写Hive数据操作
2020/06/06 Python
GitHub上值得推荐的8个python 项目
2020/10/30 Python
浅谈html5 video 移动端填坑记
2018/01/15 HTML / CSS
精灵市场:Pixie Market
2019/06/18 全球购物
营销专业应届生求职信
2013/11/26 职场文书
渔夫的故事教学反思
2014/02/14 职场文书
家长会欢迎标语
2014/06/24 职场文书
部门活动策划方案
2014/08/16 职场文书
公司自我介绍演讲稿
2014/08/21 职场文书
升国旗演讲稿
2014/09/05 职场文书
中国在我心中演讲稿
2014/09/13 职场文书
初中生活随笔
2015/08/15 职场文书
Ruby GDBM操作简介及数据存储原理
2022/04/19 Ruby