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的面向对象和继承有利新手学习
Jan 11 Javascript
dwz 如何去掉ajaxloading具体代码
May 22 Javascript
jQuery中offset()方法用法实例
Jan 16 Javascript
js实现简单随机抽奖的方法
Jan 27 Javascript
原生js实现类似弹窗抖动效果
Apr 02 Javascript
javascript生成随机数方法汇总
Nov 12 Javascript
js倒计时抢购实例
Dec 20 Javascript
JavaScript的Backbone.js框架入门学习指引
May 07 Javascript
JS日程管理插件FullCalendar简单实例
Feb 07 Javascript
详解angular ui-grid之过滤器设置
Jun 07 Javascript
Vue实现active点击切换方法
Mar 16 Javascript
vue - props 声明数组和对象操作
Jul 30 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
isset和empty的区别
2007/01/15 PHP
php学习之 循环结构实现代码
2011/06/09 PHP
php url路由入门实例
2014/04/23 PHP
使用PHP生成PDF方法详解
2015/01/23 PHP
php通过array_unshift函数添加多个变量到数组前端的方法
2015/03/18 PHP
PHP文件及文件夹操作之创建、删除、移动、复制
2016/07/13 PHP
使用PHPStorm+XDebug搭建单步调试环境
2017/11/19 PHP
PHP开发api接口安全验证操作实例详解
2020/03/26 PHP
简明json介绍
2008/09/28 Javascript
js 判断脚本加载完毕的代码
2011/07/13 Javascript
JavaScript字符串对象的concat方法实例(用于连接两个或多个字符串)
2014/10/16 Javascript
node.js中的fs.closeSync方法使用说明
2014/12/17 Javascript
高性能JavaScript DOM编程(1)
2015/08/11 Javascript
JavaScript中的splice方法用法详解
2016/07/20 Javascript
js+css3制作时钟特效
2016/10/16 Javascript
Restify中接入Socket.io报Error:Can’t set headers的错误解决
2017/03/28 Javascript
JS异步文件上传(兼容IE8+)
2017/04/02 Javascript
Vue2.0用 watch 观察 prop 变化(不触发)
2017/09/08 Javascript
使用VUE+iView+.Net Core上传图片的方法示例
2019/01/04 Javascript
微信小程序非跳转式组件授权登录的方法示例
2019/05/22 Javascript
在vue-cli 3中给stylus、sass样式传入共享的全局变量
2019/08/12 Javascript
Linux下用Python脚本监控目录变化代码分享
2015/05/21 Python
flask入门之表单的实现
2018/07/18 Python
Python运维自动化之nginx配置文件对比操作示例
2018/08/29 Python
python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与实例
2020/03/01 Python
css3实现一个div设置多张背景图片及background-image属性实例演示
2017/08/10 HTML / CSS
如果NULL和0作为空指针常数是等价的,那我到底该用哪一个
2014/09/16 面试题
生产管理的三大手法
2013/11/11 职场文书
英语教师自荐信
2014/05/26 职场文书
工作总结与自我评价
2014/09/18 职场文书
大学生旷课检讨书1000字
2015/02/19 职场文书
公司行政主管岗位职责
2015/04/09 职场文书
小学体育组工作总结2015
2015/07/21 职场文书
python Tkinter的简单入门教程
2021/04/11 Python
GTX1650super好不好 gtx1650super显卡属于什么级别
2022/04/08 数码科技
nginx之内存池的实现
2022/06/28 Servers