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 相关文章推荐
2007/12/23更新创意无限,简单实用(javascript log)
Dec 24 Javascript
extjs 学习笔记(一) 一些基础知识
Oct 13 Javascript
Extjs4中tree的拖拽功能(可以两棵树之间拖拽) 简单实例
Dec 08 Javascript
JS获取Table中td值的方法
Mar 19 Javascript
JavaScript中var关键字的使用详解
Aug 14 Javascript
jquery ajax局部加载方法详解(实现代码)
May 12 Javascript
深入理解jQuery之防止冒泡事件
May 24 Javascript
表单中单选框添加选项和移除选项
Jul 04 Javascript
JS对象与JSON互转换、New Function()、 forEach()、DOM事件流等js开发基础小结
Aug 10 Javascript
javascript input输入框模糊提示功能的实现
Sep 25 Javascript
Vue单页应用引用单独的样式文件的两种方式
Mar 30 Javascript
VUE解决 v-html不能触发点击事件的问题
Oct 28 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实现小型站点广告管理
2006/10/09 PHP
php 无限分类的树类代码
2009/12/03 PHP
php gd2 上传图片/文字水印/图片水印/等比例缩略图/实现代码
2010/05/15 PHP
PHP实现生成唯一会员卡号
2015/08/24 PHP
分析php://output和php://stdout的区别
2018/05/06 PHP
执行iframe中的javascript方法
2008/10/07 Javascript
jquery选择器、属性设置用法经验总结
2013/09/08 Javascript
原生js实现fadein 和 fadeout淡入淡出效果
2014/06/05 Javascript
jQuery中document与window以及load与ready 区别详解
2014/12/29 Javascript
jQuery实现点击小图显示大图代码分享
2015/08/25 Javascript
巧用jQuery选择器提高写表单效率的方法
2016/08/19 Javascript
selenium 与 chrome 进行qq登录并发邮件操作实例详解
2017/04/06 Javascript
详解js的作用域、预解析机制
2018/02/05 Javascript
使用Vue组件实现一个简单弹窗效果
2018/04/23 Javascript
Vue SSR 组件加载问题
2018/05/02 Javascript
详解VUE里子组件如何获取父组件动态变化的值
2018/12/26 Javascript
原生Vue 实现右键菜单组件功能
2019/12/16 Javascript
antdesign-vue结合sortablejs实现两个table相互拖拽排序功能
2021/01/08 Vue.js
python查看zip包中文件及大小的方法
2015/07/09 Python
Python处理XML格式数据的方法详解
2017/03/21 Python
新手常见6种的python报错及解决方法
2018/03/09 Python
python 自动去除空行的实例
2018/07/24 Python
Python设计模式之备忘录模式原理与用法详解
2019/01/15 Python
python3 实现函数写文件路径的正确方法
2019/11/27 Python
Flask中sqlalchemy模块的实例用法
2020/08/02 Python
分享一个python的aes加密代码
2020/12/22 Python
德尔福集团DELPHI的笔试题
2012/02/22 面试题
绩效工资分配方案
2014/01/18 职场文书
婚礼司仪主持词
2014/03/14 职场文书
安全伴我行演讲稿
2014/09/04 职场文书
党员学习群众路线心得体会
2014/11/04 职场文书
公司副总经理岗位职责
2015/04/08 职场文书
2016年11月份红领巾广播稿
2015/12/21 职场文书
MySQL如何构建数据表索引
2021/05/13 MySQL
Anaconda安装pytorch和paddle的方法步骤
2022/04/03 Python
python语言中pandas字符串分割str.split()函数
2022/08/05 Python