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 处理HTML元素必须避免使用的一种方法
Jul 30 Javascript
juqery 学习之五 文档处理 插入
Feb 11 Javascript
基于jquery实现的鼠标滑过按钮改变背景图片
Jul 15 Javascript
jQuery实现Twitter的自动文字补齐特效
Nov 28 Javascript
jQuery鼠标事件汇总
Aug 30 Javascript
JS正则表达式验证中文字符
May 08 Javascript
小发现之浅谈location.search与location.hash的问题
Jun 23 Javascript
通过示例彻底搞懂js闭包
Aug 10 Javascript
react native与webview通信的示例代码
Sep 25 Javascript
Vue组件开发之LeanCloud带图形校验码的短信发送功能
Nov 07 Javascript
VUE2 前端实现 静态二级省市联动选择select的示例
Feb 09 Javascript
webpack4简单入门实例
Sep 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代码
2008/04/09 PHP
PHP抓屏函数实现屏幕快照代码分享
2014/01/02 PHP
ThinkPHP模板Switch标签用法示例
2014/06/30 PHP
php数组索引的Key加引号和不加引号的区别
2014/08/19 PHP
php在数组中查找指定值的方法
2015/03/17 PHP
php需登录的文件上传管理系统
2020/03/21 PHP
PHP实现HTML页面静态化的方法
2015/11/04 PHP
PHP创建单例后台进程的方法示例
2017/05/23 PHP
一个js实现的所谓的滑动门
2007/05/23 Javascript
JavaScript 验证码的实例代码(附效果图)
2013/03/22 Javascript
解析dom中的children对象数组元素firstChild,lastChild的使用
2013/07/10 Javascript
jquery动态加载js三种方法实例
2013/08/03 Javascript
漂亮实用的页面loading(加载)封装代码
2017/02/03 Javascript
微信小程序教程系列之新建页面(4)
2017/04/17 Javascript
微信小程序 按钮滑动的实现方法
2017/09/27 Javascript
vue+element实现打印页面功能
2019/05/20 Javascript
JS实现利用闭包判断Dom元素和滚动条的方向示例
2019/08/26 Javascript
Python ZipFile模块详解
2013/11/01 Python
Python入门教程之运算符与控制流
2016/08/17 Python
Python实现网站注册验证码生成类
2017/06/08 Python
python实现人民币大写转换
2018/06/20 Python
python去除拼音声调字母,替换为字母的方法
2018/11/28 Python
Python利用Faiss库实现ANN近邻搜索的方法详解
2020/08/03 Python
五分钟学会HTML5的WebSocket协议
2019/11/22 HTML / CSS
小蚁科技官方商店:YI Technology
2019/08/23 全球购物
.NET现在共支持多少种语言
2014/02/26 面试题
什么是继承
2013/12/07 面试题
给孩子的新年寄语
2014/04/08 职场文书
终止合同协议书
2014/04/17 职场文书
承诺书格式范文
2014/06/03 职场文书
购房委托书
2014/10/15 职场文书
师德师风主题教育活动总结
2015/05/07 职场文书
地道战观后感2000字
2015/06/04 职场文书
初中毕业生感言
2015/07/31 职场文书
三八红旗手主要事迹材料
2015/11/04 职场文书
2016年大学生暑期社会实践活动总结
2016/04/06 职场文书