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直接编辑当前cookie的脚本
Sep 14 Javascript
JavaScript设置首页和收藏页面的小例子
Nov 11 Javascript
javascript:window.open弹出窗口的位置问题
Mar 18 Javascript
JavaScript也谈内存优化
Jun 06 Javascript
jQuery截取指定长度字符串的实现原理及代码
Jul 01 Javascript
JavaScript中实现无缝滚动、分享到侧边栏实例代码
Apr 06 Javascript
使用JS实现图片展示瀑布流效果(简单实例)
Sep 06 Javascript
AngularJS使用ocLazyLoad实现js延迟加载
Jul 05 Javascript
React中嵌套组件与被嵌套组件的通信过程
Jul 11 Javascript
vuejs实现折叠面板展开收缩动画效果
Sep 06 Javascript
Vue使用Proxy监听所有接口状态的方法实现
Jun 07 Javascript
vue+element使用动态加载路由方式实现三级菜单页面显示的操作
Aug 04 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设计模式之调解者模式的深入解析
2013/06/13 PHP
PHP中的静态变量及static静态变量使用详解
2015/11/05 PHP
PHP之图片上传类实例代码(加了缩略图)
2016/06/30 PHP
PHP 匿名函数与注意事项详细介绍
2016/11/26 PHP
php+ajax简单实现全选删除的方法
2016/12/06 PHP
php头像上传预览实例代码
2017/05/02 PHP
asp javascript 实现关闭窗口时保存数据的办法
2007/11/24 Javascript
jQuery一步一步实现跨浏览器的可编辑表格,支持IE、Firefox、Safari、Chrome、Opera
2009/08/28 Javascript
jQuery 数据缓存data(name, value)详解及实现
2010/01/04 Javascript
40款非常有用的 jQuery 插件推荐(系列一)
2011/12/21 Javascript
JS实现鼠标滑过链接改变网页背景颜色的方法
2015/10/20 Javascript
javascript图片滑动效果实现
2021/01/28 Javascript
Bootstrap整体框架之JavaScript插件架构
2016/12/15 Javascript
三种方式实现瀑布流布局
2017/02/10 Javascript
js实现一个简单的数字时钟效果
2017/03/29 Javascript
详解Vue单元测试Karma+Mocha学习笔记
2018/01/31 Javascript
关于vue面试题汇总
2018/03/20 Javascript
react native 获取地理位置的方法示例
2018/08/28 Javascript
JS实现图片切换效果
2018/11/17 Javascript
jquery实现购物车基本功能
2019/10/25 jQuery
vue 组件间的通信之子组件向父组件传值的方式
2020/07/29 Javascript
[08:08]2014DOTA2国际邀请赛中国区预选赛精彩TOPPLAY
2014/06/25 DOTA
Python subprocess模块详细解读
2018/01/29 Python
Python中BeautifulSoup通过查找Id获取元素信息
2020/12/07 Python
Selenium+BeautifulSoup+json获取Script标签内的json数据
2020/12/07 Python
详解CSS透明opacity和IE各版本透明度滤镜filter的最准确用法
2016/12/20 HTML / CSS
施华洛世奇水晶荷兰官方网站:SWAROVSKI荷兰
2017/05/12 全球购物
经济实惠的豪华背包和行李袋:Packs Project
2018/10/17 全球购物
公司薪酬管理制度
2014/01/31 职场文书
新品发布会策划方案
2014/06/08 职场文书
高中课前三分钟演讲稿
2014/08/18 职场文书
信仰心得体会
2014/09/05 职场文书
购房协议书范本(无房产证)
2014/10/07 职场文书
蓬莱阁导游词
2015/02/04 职场文书
穷人该怎么创业?谨记以下几点
2019/07/11 职场文书
导游词之京东大峡谷旅游区
2019/10/29 职场文书