JS使用replace()方法和正则表达式进行字符串的搜索与替换实例


Posted in Javascript onApril 10, 2014

1、JS字符串的替换及replace()方法的使用

replace(regexp,replacement)方法有两个参数,第一参数可以是一个纯文本字符串或是一个RegExp对象,具体请看RegExp对象的使用;第二个参数可是一个字符串也可以是一个函数。

以下是JS字符串替换的举例:

例1:

var str="Hello world!";
document.write(str.replace(/world/, "phper"));

例2:
var reg=new RegExp("(\\w+),(\\d+),(\\w+)","gmi");
var info="Lili,14,China";
var rep=info.replace(reg, "She is $1, $2 years old, come from $3");
alert(rep);

例3:
var reg=new RegExp("(\\w+),(\\d+),(\\w+)","gmi");
var info="Lili,14,China";
var name, age, from;
function prase_info(m,p1,p2,p3) { // 也可使用非显式参数,使用arguments获取
 name = p1;
 age = p2;
 from = p3;
 return "She is "+p1+", "+p2+" years old, come from "+p3;
}
var rep=info.replace(reg, prase_info);
alert(rep);
aler(name);

2、RegExp对象的使用

JavaScript提供了一个RegExp对象来完成有关正则表达式的操作和功能,每一条正则表达式模式对应一个RegExp实例。有两种方式可以创建RegExp对象的实例。

使用RegExp的显式构造函数,语法为:new RegExp("pattern"[,"flags"]);使用RegExp的隐式构造函数,采用纯文本格式:/pattern/[flags]。例4中两条语句是等价的。

例4:

var re1 = new RegExp("\\d{5}");
var re2 = /\d{5}/;

 3、字符串的搜索及exec()方法的使用

 exec()方法返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。

例5:

var reg=new RegExp("(\\w+),(\\d+),(\\w+)","gmi");
var m=reg.exec("Lili,14,China");
var s="";
for (i = 0; i < m.length; i++) {
      s = s + m[i] + "\n";
}
alert(s);

4、test()方法的使用

RegExpObject.test(string)

如果字符串 string 中含有与 RegExpObject 匹配的文本,则返回 true,否则返回 false。

例6:

var reg=new RegExp("(\\w+),(\\d+),(\\w+)","gmi");
var m=reg.test("Lili,14,China");
alert(RegExp.$1); 
alert(RegExp.$2);
alert(RegExp.$3);
Javascript 相关文章推荐
JavaScript 应用技巧集合[推荐]
Aug 30 Javascript
jquery 触发a链接点击事件解决方案
May 02 Javascript
js常用数组操作方法简明总结
Jun 20 Javascript
JSONP原理及简单实现
Jun 08 Javascript
BooStrap对导航条的改造实践小结
Sep 21 Javascript
Javascript 获取鼠标当前的位置实现方法
Oct 27 Javascript
JS设置CSS样式的方式汇总
Jan 21 Javascript
使用jQuery.Pin垂直滚动时固定导航
May 24 jQuery
JS函数节流和函数防抖问题分析
Dec 18 Javascript
Bootstrap实现的表格合并单元格示例
Feb 06 Javascript
Vue自定义过滤器格式化数字三位加一逗号实现代码
Mar 23 Javascript
微信小程序实现通过js操作wxml的wxss属性示例
Dec 06 Javascript
javascript的propertyIsEnumerable()方法使用介绍
Apr 09 #Javascript
常见的原始JS选择器使用方法总结
Apr 09 #Javascript
jquery查找父元素、子元素(个人经验总结)
Apr 09 #Javascript
js控制iframe的高度/宽度让其自适应内容
Apr 09 #Javascript
JS、DOM和JQuery之间的关系示例分析
Apr 09 #Javascript
jQuery遍历Table应用示例
Apr 09 #Javascript
通过url查找a元素并点击
Apr 09 #Javascript
You might like
PHP5+UTF8多文件上传类
2008/10/17 PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
2020/05/27 PHP
通过javascript设置css属性的代码
2009/12/28 Javascript
GreyBox技术总结(转)
2010/11/23 Javascript
javascript代码加载优化方法
2011/01/30 Javascript
jWiard 基于JQuery的强大的向导控件介绍
2011/10/28 Javascript
JavaScript+html5 canvas实现图片破碎重组动画特效
2016/02/22 Javascript
Vue数据驱动模拟实现5
2017/01/13 Javascript
AngularJS的ng-repeat指令与scope继承关系实例详解
2017/01/21 Javascript
基于BootStrap multiselect.js实现的下拉框联动效果
2017/07/28 Javascript
初学者AngularJS的环境搭建过程
2017/10/27 Javascript
微信、QQ、微博、Safari中使用js唤起App
2018/01/24 Javascript
json数据传到前台并解析展示成列表的方法
2018/08/06 Javascript
nodejs 递归拷贝、读取目录下所有文件和目录
2019/07/18 NodeJs
微信小程序自定义tabBar在uni-app的适配详解
2019/09/30 Javascript
[01:02:26]DOTA2-DPC中国联赛 正赛 SAG vs RNG BO3 第二场 1月18日
2021/03/11 DOTA
python操作MySQL数据库具体方法
2013/10/28 Python
Django与遗留的数据库整合的方法指南
2015/07/24 Python
Windows安装Python、pip、easy_install的方法
2017/03/05 Python
用Python编写一个高效的端口扫描器的方法
2018/12/20 Python
python mac下安装虚拟环境的图文教程
2019/04/12 Python
关于不懂Chromedriver如何配置环境变量问题解决方法
2019/06/12 Python
Python正则表达式匹配日期与时间的方法
2019/07/07 Python
Python在Matplotlib图中显示中文字体的操作方法
2019/07/29 Python
浅析PyTorch中nn.Module的使用
2019/08/18 Python
详解python中docx库的安装过程
2019/11/08 Python
Python turtle库的画笔控制说明
2020/06/28 Python
售房委托书
2014/08/30 职场文书
中学生教师节演讲稿
2014/09/03 职场文书
王金山在党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
班主任2015新年寄语
2014/12/08 职场文书
就业导师推荐信范文
2015/03/27 职场文书
2015年幼儿教师个人工作总结
2015/05/20 职场文书
2015财务年终工作总结范文
2015/05/22 职场文书
2015年高三教学工作总结
2015/07/21 职场文书
为什么中国式养孩子很累?
2019/08/07 职场文书