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 Jcrop插件实现图片选取功能
Nov 23 Javascript
获取鼠标在div中的相对位置的实现代码
Dec 30 Javascript
JavaScript四种调用模式和this示例介绍
Jan 02 Javascript
javascript实现五星评分功能
Nov 10 Javascript
javascript弹性运动效果简单实现方法
Jan 08 Javascript
在javascript中使用com组件的简单实现方法
Aug 17 Javascript
深入理解选择框脚本[推荐]
Dec 13 Javascript
js实现手机发送验证码功能
Mar 13 Javascript
vue组件 $children,$refs,$parent的使用详解
Jul 31 Javascript
浅谈Koa服务限流方法实践
Oct 23 Javascript
Vue中使用matomo进行访问流量统计的实现
Nov 05 Javascript
JavaScript手写数组的常用函数总结
Nov 22 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
与空气斗智斗勇的经典《Overlord》,传说中的“无稽之谈”
2020/04/09 日漫
在PHP3中实现SESSION的功能(一)
2006/10/09 PHP
简化php模板页面中分页代码的解析
2009/02/06 PHP
thinkphp的c方法使用示例
2014/02/24 PHP
PHP设计模式之装饰者模式代码实例
2015/05/11 PHP
ThinkPHP安装和设置
2015/07/27 PHP
深入理解PHP 数组之count 函数
2016/06/13 PHP
php生成无限栏目树
2017/03/16 PHP
Javascript条件判断使用小技巧总结
2008/09/08 Javascript
js刷新框架子页面的七种方法代码
2008/11/20 Javascript
JavaScript 5 新增 Array 方法实现介绍
2012/02/06 Javascript
TextArea设置MaxLength属性最大输入值的js代码
2012/12/21 Javascript
js几秒以后倒计时跳转示例
2013/12/26 Javascript
创建、调用JavaScript对象的方法集锦
2014/12/24 Javascript
浅谈JavaScript正则表达式分组匹配
2015/04/10 Javascript
JavaScript数组对象赋值用法实例
2015/08/04 Javascript
Bootstrap Paginator分页插件使用方法详解
2016/05/30 Javascript
JS高级运动实例分析
2016/12/20 Javascript
bootstrap multiselect下拉列表功能
2017/08/22 Javascript
通俗易懂地解释JS中的闭包
2017/10/23 Javascript
关于jQuery里prev()的简单操作代码
2017/10/27 jQuery
js jquery 获取某一元素到浏览器顶端的距离实现方法
2018/09/05 jQuery
详解Vue 如何监听Array的变化
2019/06/06 Javascript
Jquery如何使用animation动画效果改变背景色的代码
2020/07/20 jQuery
如何通过vscode运行调试javascript代码
2020/07/24 Javascript
[02:32]DOTA2亚洲邀请赛 C9战队出场宣传片
2015/02/07 DOTA
python开发之IDEL(Python GUI)的使用方法图文详解
2015/11/12 Python
python+matplotlib绘制简单的海豚(顶点和节点的操作)
2018/01/02 Python
python docx 中文字体设置的操作方法
2018/05/08 Python
哈曼俄罗斯官方网上商店:Harman.club
2020/07/24 全球购物
Tomcat中怎么使用log4j输出所有的log
2016/07/07 面试题
南京市纪委监察局整改方案
2014/09/16 职场文书
作风整顿剖析材料
2014/09/30 职场文书
群众路线个人自我剖析材料
2014/10/07 职场文书
向女朋友道歉的话
2015/01/20 职场文书
地道战观后感2000字
2015/06/04 职场文书