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 DOM学习第六章 表单实例
Feb 19 Javascript
jQuery UI Datepicker length为空或不是对象错误的解决方法
Dec 19 Javascript
JavaScript?Apple设备检测示例代码
Nov 15 Javascript
原生JS绑定滑轮滚动事件兼容常见浏览器
Jun 30 Javascript
jquery实现勾选复选框触发事件给input赋值
Feb 01 Javascript
JQuery操作元素的css样式
Mar 09 Javascript
JavaScript通过setTimeout实时显示当前时间的方法
Apr 16 Javascript
bootstrap实现弹窗和拖动效果
Jan 03 Javascript
微信和qq时间格式模板实例详解
Oct 21 Javascript
iview在vue-cli3如何按需加载的方法
Oct 31 Javascript
使用vue制作滑动标签
Sep 21 Javascript
js实现鼠标点击页面弹出自定义文字效果
Dec 24 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适配器模式介绍
2012/08/14 PHP
在smarty中调用php内置函数的方法
2013/02/07 PHP
深入探讨:Nginx 502 Bad Gateway错误的解决方法
2013/06/03 PHP
php在数据库抽象层简单使用PDO的方法
2015/11/03 PHP
PHP Swoole异步MySQL客户端实现方法示例
2019/10/24 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
2020/02/21 PHP
Exjs 入门篇
2010/04/07 Javascript
js split 的用法和定义 js split分割字符串成数组的实例代码
2012/05/13 Javascript
jquery js 重置表单 reset()具体实现代码
2013/08/05 Javascript
jquery统计复选框选中示例
2013/11/05 Javascript
关于js中for in的缺陷浅析
2013/12/02 Javascript
使用jquery局部刷新(jquery.load)从数据库取出数据
2014/01/22 Javascript
jquery组件使用中遇到的问题整理及解决
2014/02/21 Javascript
javascript实现3D切换焦点图
2015/10/16 Javascript
H5用户注册表单页 注册模态框!
2016/09/17 Javascript
深入理解Node中的buffer模块
2017/06/03 Javascript
利用node.js实现反向代理的方法详解
2017/07/24 Javascript
用React实现一个完整的TodoList的示例代码
2017/10/30 Javascript
vue slots 组件的组合/分发实例
2018/09/06 Javascript
vue-cli 使用axios的操作方法及整合axios的多种方法
2018/09/12 Javascript
vue单页面实现当前页面刷新或跳转时提示保存
2018/11/02 Javascript
JQuery的加载和选择器用法简单示例
2019/05/13 jQuery
JS实现点击生成UUID的方法完整实例【基于jQuery】
2019/06/12 jQuery
详解vue页面首次加载缓慢原因及解决方案
2019/11/06 Javascript
举例详解Python中循环语句的嵌套使用
2015/05/14 Python
python寻找list中最大值、最小值并返回其所在位置的方法
2018/06/27 Python
python 利用pywifi模块实现连接网络破解wifi密码实时监控网络
2019/09/16 Python
keras实现基于孪生网络的图片相似度计算方式
2020/06/11 Python
Python爬虫headers处理及网络超时问题解决方案
2020/06/19 Python
英国电子产品购物网站:TobyDeals
2018/07/30 全球购物
国际贸易专业个人职业生涯规划
2014/02/15 职场文书
建筑工程专业大学生求职信
2014/04/23 职场文书
大学生实习证明范文(5篇)
2014/09/18 职场文书
技术股份合作协议书
2014/10/05 职场文书
2015年基层党建工作总结
2015/05/14 职场文书
2015上半年个人工作总结
2015/07/27 职场文书