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 相关文章推荐
js escape,unescape解决中文乱码问题的方法
May 26 Javascript
JS返回上一页实例代码通过图片和按钮分别实现
Aug 16 Javascript
javascript 函数声明与函数表达式的区别介绍
Oct 05 Javascript
jQuery.prop() 使用详解
Jul 19 Javascript
基于javascript如何传递特殊字符
Nov 30 Javascript
jQuery插件实现图片轮播特效
Jun 16 Javascript
Vue.js中数组变动的检测详解
Oct 12 Javascript
vue.js仿hover效果的实现方法示例
Jan 28 Javascript
Vue组件系列开发之模态框
Apr 18 Javascript
JS大坑之19位数的Number型精度丢失问题详解
Apr 22 Javascript
Vue侦测相关api的实现方法
May 22 Javascript
JavaScript内置对象math,global功能与用法实例分析
Jun 10 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获取开始与结束日期之间所有日期的方法
2016/11/29 PHP
PHP substr()函数参数解释及用法讲解
2017/11/23 PHP
JavaScript 常用函数库详解
2009/10/21 Javascript
jquery中ajax学习笔记一
2011/10/16 Javascript
用Javascript评估用户输入密码的强度(Knockout版)
2011/11/30 Javascript
jQuery让控件左右移动的三种实现方法
2013/09/08 Javascript
node.js中的buffer.Buffer.isBuffer方法使用说明
2014/12/14 Javascript
jquery中添加属性和删除属性
2015/06/03 Javascript
AngularJS 表达式详解及实例代码
2016/09/14 Javascript
微信小程序 教程之WXSS
2016/10/18 Javascript
Vue.js 60分钟快速入门教程
2017/03/28 Javascript
大白话讲解JavaScript的Promise
2017/04/06 Javascript
详解vue项目构建与实战
2017/06/27 Javascript
JavaScript数组去重算法实例小结
2018/05/07 Javascript
NodeJS 将文件夹按照存放路径变成一个对应的JSON的方法
2018/10/17 NodeJs
jQuery实现上下滚动公告栏详细代码
2018/11/21 jQuery
微信小程序拼接图片链接无底洞深入探究
2019/09/03 Javascript
JavaScript点击按钮生成4位随机验证码
2021/01/28 Javascript
python获取本机外网ip的方法
2015/04/15 Python
Java中重定向输出流实现用文件记录程序日志
2015/06/12 Python
python用pickle模块实现“增删改查”的简易功能
2017/06/07 Python
python中通过预先编译正则表达式提高效率
2017/09/25 Python
django多文件上传,form提交,多对多外键保存的实例
2019/08/06 Python
Python基于os.environ从windows获取环境变量
2020/06/09 Python
canvas实现烟花的示例代码
2020/01/16 HTML / CSS
美国存储和组织商店:The Container Store
2017/08/16 全球购物
ALDO英国官网:加拿大女鞋品牌
2018/02/19 全球购物
小学教师师德感言
2014/02/10 职场文书
财政专业求职信范文
2014/02/19 职场文书
人事任命书范文
2014/06/04 职场文书
竞选班干部演讲稿300字
2014/08/20 职场文书
民主生活会批评与自我批评总结
2014/10/17 职场文书
六五普法先进个人主要事迹材料
2015/11/03 职场文书
2019关于实习生工作安排及待遇的管理方案!
2019/07/16 职场文书
【海涛dota解说】DCG联赛第一周 LGD VS DH
2022/04/01 DOTA