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或asp实现的判断身份证号码是否正确两种验证方法
Nov 26 Javascript
actionscript与javascript的区别
May 25 Javascript
javascript判断两个IP地址是否在同一个网段的实现思路
Dec 13 Javascript
javascript 获取iframe里页面中元素值的方法
Feb 17 Javascript
JS实现跟随鼠标闪烁转动色块的方法
Feb 26 Javascript
使用js实现的简单拖拽效果
Mar 18 Javascript
用js控件div的滚动条,让它在内容更新时自动滚到底部的实现方法
Oct 27 Javascript
AngularJS表单提交实例详解
Feb 18 Javascript
js放到head中失效的原因与解决方法
Mar 07 Javascript
利用Vue实现移动端图片轮播组件的方法实例
Aug 23 Javascript
Vue 中的compile操作方法
Feb 26 Javascript
Vue2 轮播图slide组件实例代码
May 31 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
phpfans留言版用到的install.php
2007/01/04 PHP
基于Linux调试工具strace与gdb的常用命令总结
2013/06/03 PHP
PHP中preg_match正则匹配中的/u、/i、/s含义
2015/04/17 PHP
详解PHP防止盗链防止迅雷下载的方法
2017/04/26 PHP
php中html_entity_decode实现HTML实体转义
2018/06/13 PHP
PHP后期静态绑定实例浅析
2018/12/21 PHP
PHP7创建销毁session的实例方法
2020/02/03 PHP
让checkbox不选中即将选中的checkbox不选中
2014/07/11 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 图片库
2015/01/09 Javascript
解决WordPress使用CDN后博文无法评论的错误
2015/12/15 Javascript
jquery.validate表单验证插件使用方法解析
2016/11/07 Javascript
javascript 判断当前浏览器版本并判断ie版本
2017/02/17 Javascript
利用百度地图API获取当前位置信息的实例
2017/11/06 Javascript
Webpack 之 babel-loader文件预处理器详解
2018/03/23 Javascript
JS中的JSON对象的定义和取值实现代码
2018/05/09 Javascript
js+css实现红包雨效果
2018/07/12 Javascript
jQuery模拟12306城市选择框功能简单实现方法示例
2018/08/13 jQuery
js中null与空字符串""的区别讲解
2019/01/17 Javascript
vue全局自定义指令-元素拖拽的实现代码
2019/04/14 Javascript
详解vue父子组件状态同步的最佳方式
2020/09/10 Javascript
nodejs中内置模块fs,path常见的用法说明
2020/11/07 NodeJs
Selenium执行JavaScript脚本的方法示例
2020/12/31 Javascript
Python ORM框架SQLAlchemy学习笔记之关系映射实例
2014/06/10 Python
Python自定义装饰器原理与用法实例分析
2018/07/16 Python
Python使用pymysql模块操作mysql增删改查实例分析
2019/12/19 Python
Python实现爬取并分析电商评论
2020/06/19 Python
python批量生成条形码的示例
2020/10/10 Python
python 实现汉诺塔游戏
2020/11/28 Python
Html5移动端弹幕动画实现示例代码
2018/08/27 HTML / CSS
莫斯科大型旅游休闲商品超市:Camping.ru
2020/09/16 全球购物
如何执行一个shell程序
2012/11/23 面试题
国际贸易专业推荐信
2013/11/15 职场文书
会计专业应届生求职信
2013/11/24 职场文书
班组长安全生产职责
2013/12/16 职场文书
《乘法分配律》教学反思
2016/02/24 职场文书
vue实现可拖拽的dialog弹框
2021/05/13 Vue.js