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 相关文章推荐
Easy.Ajax 部分源代码 支持文件上传功能, 兼容所有主流浏览器
Feb 24 Javascript
jquery插件冲突(jquery.noconflict)解决方法分享
Mar 20 Javascript
JavaScript设计模式之工厂模式和构造器模式
Feb 11 Javascript
JS基于cookie实现来宾统计记录访客信息的方法
Aug 04 Javascript
QQ登录背景闪动效果附效果演示源码下载
Sep 22 Javascript
JavaScript操作表单实例讲解(上)
Jun 20 Javascript
javascript编写简易计算器
May 06 Javascript
JavaScript复制内容到剪贴板的两种常用方法
Feb 27 Javascript
JS将时间秒转换成天小时分钟秒的字符串
Jul 10 Javascript
Vuex modules模式下mapState/mapMutations的操作实例
Oct 17 Javascript
三种方式清除vue路由跳转router-link的历史记录
Apr 10 Vue.js
vue使用localStorage持久性存储实现评论列表
Apr 14 Vue.js
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
Yii实现单用户博客系统文章详情页插入评论表单的方法
2015/12/28 PHP
Yii CGridView用法实例详解
2016/07/12 PHP
基于Laravel实现的用户动态模块开发
2017/09/21 PHP
JS 参数传递的实际应用代码分析
2009/09/13 Javascript
jquery multiSelect 多选下拉框
2010/07/09 Javascript
jquery 操作DOM案例代码分享
2012/04/05 Javascript
Table冻结表头示例代码
2013/08/20 Javascript
tangram框架响应式加载图片方法
2013/11/21 Javascript
网页下载文件期间如何防止用户对网页进行其他操作
2014/06/27 Javascript
详解vue-Resource(与后端数据交互)
2017/01/16 Javascript
Extjs gridpanel 中的checkbox(复选框)根据某行的条件不能选中的解决方法
2017/02/17 Javascript
nodejs使用express创建一个简单web应用
2017/03/31 NodeJs
JavaScript手风琴页面制作
2017/05/17 Javascript
微信小程序学习之数据处理详解
2017/07/05 Javascript
JS严格模式知识点总结
2018/02/27 Javascript
详解在create-react-app使用less与antd按需加载
2018/12/06 Javascript
js使用文件流下载csv文件的实现方法
2019/07/15 Javascript
python中去空格函数的用法
2014/08/21 Python
[原创]使用豆瓣提供的国内pypi源
2017/07/02 Python
PyQt4实现下拉菜单可供选择并打印出来
2018/04/20 Python
Python numpy.zero() 初始化矩阵实例
2019/11/27 Python
通过 Python 和 OpenCV 实现目标数量监控
2020/01/05 Python
详解pytorch中squeeze()和unsqueeze()函数介绍
2020/09/03 Python
python中@property的作用和getter setter的解释
2020/12/22 Python
法国在线宠物店:zooplus.fr
2018/02/23 全球购物
艺术系大学生毕业个人自我评价
2013/09/19 职场文书
物业管理毕业生个人的求职信
2013/11/30 职场文书
校庆接待方案
2014/03/18 职场文书
教师纪念9.18事件演讲稿范文
2014/09/14 职场文书
2014年加油站站长工作总结
2014/12/23 职场文书
蓬莱阁导游词
2015/02/04 职场文书
小兵张嘎观后感300字
2015/06/03 职场文书
致运动员赞词
2015/07/22 职场文书
2019年最新版见习人员管理制度!
2019/07/08 职场文书
导游词之山东孔庙
2019/11/04 职场文书
导游词之江苏溱潼古镇
2019/11/27 职场文书