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 相关文章推荐
新浪的图片新闻效果
Jan 13 Javascript
火狐浏览器(firefox)下获得Event对象以及keyCode
Nov 13 Javascript
Jquery Post处理后不进入回调的原因及解决方法
Jul 15 Javascript
BOM系列第一篇之定时器setTimeout和setInterval
Aug 17 Javascript
js鼠标经过tab选项卡时实现切换延迟
Mar 24 Javascript
jQuery zTree树插件动态加载实例代码
May 11 jQuery
详解微信小程序 通过控制CSS实现view隐藏与显示
May 24 Javascript
Vue实现typeahead组件功能(非常靠谱)
Aug 26 Javascript
vue中的计算属性的使用和vue实例的方法示例
Dec 04 Javascript
linux 后台运行node服务指令方法
May 23 Javascript
图文详解vue框架安装步骤
Feb 12 Javascript
JS+php后台实现文件上传功能详解
Mar 02 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下封装较好的数字分页方法
2010/11/23 PHP
PHP简单实现数字分页功能示例
2016/08/24 PHP
PHP-CGI远程代码执行漏洞分析与防范
2017/05/07 PHP
php微信开发之关键词回复功能
2018/06/13 PHP
PHP实现字母数字混合验证码功能
2019/07/11 PHP
js 三级关联菜单效果实例
2013/08/13 Javascript
Jquery焦点与失去焦点示例应用
2014/06/10 Javascript
Javascript基础知识(一)核心基础语法与事件模型
2014/09/29 Javascript
jQuery的Ajax用户认证和注册技术实例教程(附demo源码)
2015/12/08 Javascript
第三篇Bootstrap网格基础
2016/06/21 Javascript
浅述节点的创建及常见功能的实现
2016/12/15 Javascript
js Canvas绘制圆形时钟效果
2017/02/17 Javascript
jQuery回调方法使用示例
2017/06/26 jQuery
详解promise.then,process.nextTick, setTimeout 以及 setImmediate的执行顺序
2018/11/21 Javascript
微信小程序实现折线图的示例代码
2019/06/07 Javascript
vue 使用axios 数据请求第三方插件的使用教程详解
2019/07/05 Javascript
js 计算月/周的第一天和最后一天代码
2020/02/01 Javascript
原生JS实现音乐播放器的示例代码
2021/02/25 Javascript
跟老齐学Python之??碌某?? target=
2014/09/12 Python
python使用Queue在多个子进程间交换数据的方法
2015/04/18 Python
浅析Python基础-流程控制
2016/03/18 Python
Python实现的计数排序算法示例
2017/11/29 Python
将Django项目部署到CentOs服务器中
2018/10/18 Python
python中 * 的用法详解
2019/07/10 Python
基于Python函数和变量名解析
2019/07/19 Python
python OpenCV GrabCut使用实例解析
2019/11/11 Python
pytorch实现对输入超过三通道的数据进行训练
2020/01/15 Python
如何安装并在pycharm使用selenium的方法
2020/04/30 Python
python的pip有什么用
2020/06/17 Python
无畏的旅行:Intrepid Travel
2017/12/20 全球购物
《巨人的花园》教学反思
2014/02/12 职场文书
毕业论文致谢部分怎么写
2015/05/14 职场文书
行为规范主题班会
2015/08/13 职场文书
了解Redis常见应用场景
2021/06/23 Redis
使用feign服务调用添加Header参数
2021/06/23 Java/Android
了解MySQL查询语句执行过程(5大组件)
2022/08/14 MySQL