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 相关文章推荐
Jquery常用技巧收集整理篇
Nov 14 Javascript
JQuery.closest(),parent(),parents()寻找父结点
Feb 17 Javascript
jquery如何根据值设置默认的选中项
Mar 17 Javascript
JS函数重载的解决方案
May 13 Javascript
非常棒的jQuery图片轮播效果
Apr 17 Javascript
使用 bootstrap modal遇到的问题小结
Nov 09 Javascript
基于JavaScript实现自定义滚动条
Jan 25 Javascript
Vue.js组件tab实现选项卡切换
Mar 23 Javascript
js实现自定义进度条效果
Mar 15 Javascript
详解Vue路由History mode模式中页面无法渲染的原因及解决
Sep 28 Javascript
详解小程序输入框闪烁及重影BUG解决方案
Aug 31 Javascript
Vue实现 点击显示再点击隐藏效果(点击页面空白区域也隐藏效果)
Jan 16 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中使用DOM控制XML实现代码
2010/05/07 PHP
php中突破基于HTTP_REFERER的防盗链措施(stream_context_create)
2011/03/29 PHP
php仿QQ验证码的实例分析
2013/07/01 PHP
PHP页面间传递值和保持值的方法
2016/08/24 PHP
php中使用array_filter()函数过滤数组实例讲解
2021/03/03 PHP
JavaScipt基本教程之JavaScript语言的基础
2008/01/16 Javascript
实现png图片和png背景透明(支持多浏览器)的方法
2009/09/08 Javascript
jquery插件 cluetip 关键词注释
2010/01/12 Javascript
jquery如何改变html标签的样式(两种实现方法)
2013/01/16 Javascript
jQuery ajax serialize()方法的使用以及常见问题解决
2013/01/27 Javascript
解决JavaScript数字精度丢失问题的方法
2015/12/03 Javascript
JavaScript实现公历转农历功能示例
2017/02/13 Javascript
Angular开发者指南之入门介绍
2017/03/05 Javascript
基于jQuery实现文字打印动态效果
2017/04/21 jQuery
NodeJS搭建HTTP服务器的实现步骤
2018/10/12 NodeJs
ES6新增的数组知识实例小结
2020/05/23 Javascript
[48:37]EG vs OG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
深入解析Python设计模式编程中建造者模式的使用
2016/03/02 Python
python获取外网IP并发邮件的实现方法
2017/10/01 Python
用不到50行的Python代码构建最小的区块链
2017/11/16 Python
详解用python实现简单的遗传算法
2018/01/02 Python
python 调用pyautogui 实时获取鼠标的位置、移动鼠标的方法
2019/08/27 Python
HTML5-WebSocket实现聊天室示例
2016/12/15 HTML / CSS
expedia比利时:预订航班+酒店并省钱
2018/07/13 全球购物
盛大笔试题
2016/11/05 面试题
计算机学生的自我评价分享
2014/02/18 职场文书
会计核算科岗位职责
2014/03/19 职场文书
大学中国梦演讲稿
2014/04/23 职场文书
论文评语大全
2014/04/29 职场文书
运动会入场口号
2014/06/07 职场文书
计算机应用应届生求职信
2014/07/12 职场文书
岗位职责说明书模板
2014/07/30 职场文书
机关党总支领导班子整改方案
2014/09/20 职场文书
高三英语复习计划
2015/01/19 职场文书
python基础之类方法和静态方法
2021/10/24 Python
一次项目中Thinkphp绕过禁用函数的实战记录
2021/11/17 PHP