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 instanceof,typeof的区别
Mar 24 Javascript
基于Jquery的将DropDownlist的选中值赋给label的实现代码
May 06 Javascript
javascript中判断一个值是否在数组中并没有直接使用
Dec 17 Javascript
jquery实现tr元素的上下移动示例代码
Dec 20 Javascript
关于Javascript 对象(object)的prototype
May 09 Javascript
JAVA四种基本排序方法实例总结
Jul 24 Javascript
详解JavaScript权威指南之对象
Sep 27 Javascript
原生JS实现的轮播图功能详解
Aug 06 Javascript
解决vue2.0 element-ui中el-upload的before-upload方法返回false时submit()不生效问题
Aug 24 Javascript
vue2.0实现列表数据增加和删除
Jun 17 Javascript
antd Select下拉菜单动态添加option里的内容操作
Nov 02 Javascript
vue-router路由懒加载及实现的3种方式
Feb 28 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
动漫定律:眯眯眼都是怪物!这些角色狠话不多~
2020/03/03 日漫
使用PHP求两个文件的相对路径
2013/06/20 PHP
thinkphp 一个页面使用2次分页的实现方法
2013/07/15 PHP
PHP中error_log()函数的使用方法
2015/01/20 PHP
php关联数组快速排序的方法
2015/04/17 PHP
PHP实现APP微信支付的实例讲解
2018/02/10 PHP
Laravel使用模型实现like模糊查询的例子
2019/10/24 PHP
js下弹出窗口的变通
2007/04/18 Javascript
Ext对基本类型的扩展 ext,extjs,format
2010/12/25 Javascript
JS中数组Array的用法示例介绍
2014/02/20 Javascript
JavaScript多图片上传案例
2015/09/28 Javascript
jQuery实现的倒计时效果实例小结
2016/04/16 Javascript
基于Bootstrap重置输入框内容按钮插件
2016/05/12 Javascript
Jquery获取当前城市的天气信息
2016/08/05 Javascript
移动端js图片查看器
2016/11/17 Javascript
JavaScript省市级联下拉菜单实例
2017/02/14 Javascript
js判断用户是输入的地址请求的路径(实例讲解)
2017/07/18 Javascript
详解Vue webapp项目通过HBulider打包原生APP
2018/06/29 Javascript
微信小程序webview实现长按点击识别二维码功能示例
2019/01/24 Javascript
Vue中fragment.js使用方法小结
2020/02/17 Javascript
Python3实现生成随机密码的方法
2014/08/23 Python
批量获取及验证HTTP代理的Python脚本
2017/04/23 Python
pandas DataFrame实现几列数据合并成为新的一列方法
2018/06/08 Python
python selenium执行所有测试用例并生成报告的方法
2019/02/13 Python
Python进程Multiprocessing模块原理解析
2020/02/28 Python
Python数据正态性检验实现过程
2020/04/18 Python
CSS3中的注音对齐属性ruby-align用法指南
2016/07/01 HTML / CSS
研究生自我鉴定范文
2013/10/30 职场文书
宠物店的创业计划书范文
2014/01/11 职场文书
优秀交警事迹材料
2014/01/26 职场文书
高三毕业寄语
2014/04/10 职场文书
宾馆仓管员岗位职责
2014/07/27 职场文书
乡镇群众路线专项整治方案
2014/11/03 职场文书
婚庆司仪开场白
2015/05/29 职场文书
社区低保工作总结2015
2015/07/23 职场文书
银行服务理念口号
2015/12/25 职场文书