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 相关文章推荐
一个可以兼容IE FF的加为首页与加入收藏实现代码
Nov 02 Javascript
判断目标是否是window,document,和拥有tagName的Element的代码
May 31 Javascript
javascript学习笔记(三)显示当时时间的代码
Apr 08 Javascript
JavaScript字符串对象split方法入门实例(用于把字符串分割成数组)
Oct 16 Javascript
使用AngularJS来实现HTML页面嵌套的方法
Jun 17 Javascript
JavaScript实现为input与textarea自定义hover,focus效果的方法
Aug 21 Javascript
JS实现网页标题随机显示名人名言的方法
Nov 03 Javascript
JavaScript中如何使用cookie实现记住密码功能及cookie相关函数介绍
Nov 10 Javascript
深入浅出webpack之externals的使用
Dec 04 Javascript
layui数据表格 table.render 报错的解决方法
Sep 29 Javascript
vue实现一个6个输入框的验证码输入组件功能的实例代码
Jun 29 Javascript
如何理解Vue前后端数据交互与显示
May 10 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
asp和php下textarea提交大量数据发生丢失的解决方法
2008/01/20 PHP
php读取文件内容至字符串中,同时去除换行、空行、行首行尾空格(Zjmainstay原创)
2012/07/31 PHP
PHP生成二维码的两个方法和实例
2014/07/01 PHP
PHP读取配置文件类实例(可读取ini,yaml,xml等)
2015/07/28 PHP
Cookie 小记
2010/04/01 Javascript
ajaxFileUpload.js插件支持多文件上传的方法
2014/09/02 Javascript
Javascript Objects详解
2014/09/04 Javascript
jQuery实现瀑布流的取巧做法分享
2015/01/12 Javascript
讲解JavaScript的Backbone.js框架的MVC结构设计理念
2016/02/14 Javascript
基于JS实现的笛卡尔乘积之商品发布
2016/05/13 Javascript
Ionic实现页面下拉刷新(ion-refresher)功能代码
2016/06/03 Javascript
javascript中的 object 和 function小结
2016/08/14 Javascript
nodejs服务搭建教程 nodejs访问本地站点文件
2017/04/07 NodeJs
从零开始学习Node.js系列教程四:多页面实现数学运算的client端和server端示例
2017/04/13 Javascript
JS 60秒后重新发送验证码的实例讲解
2017/07/26 Javascript
js移动端事件基础及常用事件库详解
2017/08/15 Javascript
JavaScrip数组删除特定元素的几种方法总结
2017/09/06 Javascript
angular的输入和输出的使用方法
2018/09/22 Javascript
VUE动态生成word的实现
2020/07/26 Javascript
微信小程序连续签到7天积分获得功能的示例代码
2020/08/20 Javascript
解决ant design vue中树形控件defaultExpandAll设置无效的问题
2020/10/26 Javascript
vue 数据操作相关总结
2020/12/17 Vue.js
[02:53]DOTA2亚洲邀请赛 NewBee战队巡礼
2015/02/03 DOTA
python解析模块(ConfigParser)使用方法
2013/12/10 Python
跟老齐学Python之有容乃大的list(2)
2014/09/15 Python
Python获取文件ssdeep值的方法
2014/10/05 Python
利用python将xml文件解析成html文件的实现方法
2017/12/22 Python
人脸识别经典算法一 特征脸方法(Eigenface)
2018/03/13 Python
Python从函数参数类型引出元组实例分析
2019/05/28 Python
libreoffice python 操作word及excel文档的方法
2019/07/04 Python
pytorch三层全连接层实现手写字母识别方式
2020/01/14 Python
HTML5拖放功能_动力节点Java学院整理
2017/07/13 HTML / CSS
最好的商品表达自己:Cafepress
2019/09/04 全球购物
哈曼俄罗斯官方网上商店:Harman.club
2020/07/24 全球购物
协议书格式
2014/04/23 职场文书
在Centos 8.0中安装Redis服务器的教程详解
2022/03/21 Redis