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 相关文章推荐
Div自动滚动到末尾的代码
Oct 26 Javascript
javascript 学习之旅 (1)
Feb 05 Javascript
javascript判断是否按回车键并解决浏览器之间的差异
May 13 Javascript
js实现在网页上简单显示时间的方法
Mar 02 Javascript
JavaScript原生对象之String对象的属性和方法详解
Mar 13 Javascript
javascript实现可键盘控制的抽奖系统
Mar 10 Javascript
JS中传递参数的几种不同方法比较
Jan 20 Javascript
vue.js加载新的内容(实例代码)
Jun 01 Javascript
如何用input标签和jquery实现多图片的上传和回显功能
May 16 jQuery
详解基于webpack&amp;gettext的前端多语言方案
Jan 29 Javascript
JS实现普通轮播图特效
Jan 01 Javascript
Vue 中使用 typescript的方法详解
Feb 17 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
终于听上了直流胆调频
2021/03/02 无线电
php生成略缩图代码
2012/07/16 PHP
详解php几行代码实现CSV格式文件输出
2017/07/01 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
禁止刷新,回退的JS
2006/11/25 Javascript
JQuery textlimit 显示用户输入的字符数 限制用户输入的字符数
2009/05/14 Javascript
Jquery提交表单 Form.js官方插件介绍
2012/03/01 Javascript
javascript创建和存储cookie示例
2014/01/07 Javascript
实例讲解jquery中mouseleave和mouseout的区别
2016/02/17 Javascript
轻松掌握jQuery中wrap()与unwrap()函数的用法
2016/05/24 Javascript
jQuery过滤特殊字符及JS字符串转为数字
2016/05/26 Javascript
解析JavaScript实现DDoS攻击原理与保护措施
2016/12/26 Javascript
详解Vue 非父子组件通信方法(非Vuex)
2017/05/24 Javascript
Vuex 快速入门(简单易懂)
2018/09/20 Javascript
vue+ESLint 配置保存 自动格式化代码
2020/03/17 Javascript
解决ant Design中Select设置initialValue时的大坑
2020/10/29 Javascript
[00:19]CN DOTA NEVER DIE!VG夺冠rOtK接受采访
2019/12/23 DOTA
Python读取图片属性信息的实现方法
2016/09/11 Python
python实现飞机大战
2018/09/11 Python
Python数据类型之Number数字操作实例详解
2019/05/08 Python
Python 实现毫秒级淘宝抢购脚本的示例代码
2019/09/16 Python
PyQt5实现仿QQ贴边隐藏功能的实例代码
2020/05/24 Python
利用Python实现某OA系统的自动定位功能
2020/05/27 Python
keras 多任务多loss实例
2020/06/22 Python
Django配置跨域并开发测试接口
2020/11/04 Python
python装饰器代码深入讲解
2021/03/01 Python
澳大利亚领先的美容护肤品零售商之一:SkincareStore
2018/01/22 全球购物
大唐电信科技股份有限公司java工程师面试经历
2016/12/09 面试题
《自然之道》教学反思
2014/02/11 职场文书
创建文明城市标语
2014/06/16 职场文书
2014年局领导班子自身建设情况汇报
2014/11/21 职场文书
趣味运动会加油词
2015/07/18 职场文书
初中数学课堂教学反思
2016/02/17 职场文书
Python基础之字符串格式化详解
2021/04/21 Python
maven依赖的version声明控制方式
2022/01/18 Java/Android
一文弄懂MySQL索引创建原则
2022/02/28 MySQL