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 相关文章推荐
页面使用密码保护代码
Apr 10 Javascript
ie8模式下click无反应点击option无反应的解决方法
Oct 11 Javascript
Node.js开源应用框架HapiJS介绍
Jan 14 Javascript
jQuery自定义添加"$"与解决"$"冲突的方法
Jan 19 Javascript
js 弹出对话框(遮罩)透明,可拖动的简单实例
Jul 11 Javascript
bootstrap模态框跳转到当前模板页面 框消失了而背景存在问题的解决方法
Nov 30 Javascript
js中创建对象的几种方式
Feb 05 Javascript
快速使用node.js进行web开发详解
Apr 26 Javascript
xmlplus组件设计系列之按钮(2)
Apr 26 Javascript
JS中数据结构之栈
Jan 01 Javascript
vue实现购物车小案例
Sep 27 Javascript
基于Vue CSR的微前端实现方案实践
May 27 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
火车头采集器3.0采集图文教程
2007/03/17 PHP
php5中类的学习
2008/03/28 PHP
array_multisort实现PHP多维数组排序示例讲解
2011/01/04 PHP
PHP字符过滤函数去除字符串最后一个逗号(rtrim)
2013/03/26 PHP
解析php时间戳与日期的转换
2013/06/06 PHP
phpmyadmin打开很慢的解决方法
2014/04/21 PHP
php 批量添加多行文本框textarea一行一个
2014/06/03 PHP
PHP使用json_encode函数时不转义中文的解决方法
2014/11/12 PHP
通过PHP简单实例介绍文件上传
2015/12/16 PHP
php通过文件头判断格式的方法
2016/05/28 PHP
日期 时间js控件
2009/05/07 Javascript
jMessageBox 基于jQuery的窗口插件
2009/12/09 Javascript
你必须知道的Javascript知识点之"this指针"的应用
2013/04/23 Javascript
原生javascript实现图片无缝滚动效果
2016/02/12 Javascript
Bootstrap源码解读按钮(5)
2016/12/23 Javascript
微信小程序之选项卡的实现方法
2017/09/29 Javascript
Vuex 进阶之模块化组织详解
2018/01/12 Javascript
vue-cli 引入jQuery,Bootstrap,popper的方法
2018/09/03 jQuery
Node.js Event Loop各阶段讲解
2019/03/08 Javascript
解决vue项目刷新后,导航菜单高亮显示的位置不对问题
2019/11/01 Javascript
JavaScript冒泡算法原理与实现方法深入理解
2020/06/04 Javascript
python根据文件大小打log日志
2014/10/09 Python
详解django中自定义标签和过滤器
2017/07/03 Python
django模板语法学习之include示例详解
2017/12/17 Python
Django自带的加密算法及加密模块详解
2019/12/03 Python
基于Django实现日志记录报错信息
2019/12/17 Python
法国最大电子商务平台:Cdiscount
2018/03/13 全球购物
美国高端牛仔品牌:Silver Jeans
2019/12/12 全球购物
俄罗斯极限运动网上商店:Board Shop №1
2020/12/18 全球购物
环境工程与管理大学毕业生求职信
2013/10/02 职场文书
英语自荐信范文
2013/12/11 职场文书
骨干教师培训制度
2014/01/13 职场文书
医学专业毕业生推荐信
2014/07/12 职场文书
群教班子对照检查材料
2014/08/26 职场文书
2015年店长工作总结范文
2015/04/08 职场文书
在python中实现导入一个需要传参的模块
2021/05/12 Python