javascript正则表达式中参数g(全局)的作用


Posted in Javascript onNovember 11, 2010

我们详细描述:
1)对于表达式对象的exec方法,不加入g,则只返回第一个匹配,无论执行多少次均是如此,如果加入g,则第一次执行也返回第一个匹配,再执行第二个匹配,依次类推。例如:

var regx=/user\d/; 
var str=”user18duser2dsc”; 
var rs=regx.exec(str);//此时rs的值为{user1} 
var rs2=regx.exec(str);//此时rs的值依然是{user1}

如果regx=/user\d/g:则rs的值为{user1},rs2的值为{user2}

通过这个例子说明:对于exec方法,表达式加入了g,并不是说执行exec方法就可以返回所有的匹配,而是说加入了g以后,可以通过某种方式得到所有的匹配,这里的“方式”对于exec而言,就是执行这个方法即可。
2)对于表达式对象的test方法,加入g跟不加g没有什么区别。
3)对于String对象的match方法,不加g,也只是返回第一个匹配,一直执行match方法也总是返回第一个匹配,加入g,则一次返回所有的匹配。例如:

var regx=/user\d/; 
var str=”user1dge3user2gwe”; 
var rs=str.match(regx);//此时rs的值为{user1} 
var rs2=str.match(regx);//此时rs2的值依然为{user1}

如果regx=/user\d/g,则rs的值为{user1,user2},rs2的值也为{user1,user2}

4)对于string对象的replace方法,表达式不加g,则只替换第一个匹配,如果加入g,则替换所有匹配。

5)对于String对象的split方法,加上g与不加g是一样的,即:

var sep=/user\d/; 
var array=”user1dfsfuser2dfsf”.split(sep);

则array的值为{dfsf,dfsf},当sep=/user\d/g,返回值也是一样的。

6)对于string对象的search方法,加不加g也是一样的。

Javascript 相关文章推荐
JavaScript的9个陷阱及评点分析
May 16 Javascript
jQuery 自动增长的文本输入框实现代码
Apr 02 Javascript
提交按钮的name='submit'引起的js失效问题及原因
Feb 25 Javascript
浅谈javascript的Touch事件
Sep 27 Javascript
javascript鼠标右键菜单自定义效果
Dec 08 Javascript
JS跨域解决方案之使用CORS实现跨域
Apr 14 Javascript
JavaScript实现经典排序算法之冒泡排序
Dec 28 Javascript
angularjs ocLazyLoad分步加载js文件实例
Jan 17 Javascript
Node.js  事件循环详解及实例
Aug 06 Javascript
js实现二级联动简单实例
Jan 11 Javascript
vue+elementUI实现简单日历功能
Sep 24 Javascript
JS高级程序设计之class继承重点详解
Jul 07 Javascript
工作中常用到的JS表单验证代码(包括例子)
Nov 11 #Javascript
CSS和JS标签style属性对照表(方便js开发的朋友)
Nov 11 #Javascript
使用jquery与图片美化checkbox和radio控件的代码(打包下载)
Nov 11 #Javascript
关于firefox的ElementTraversal 接口 使用说明
Nov 11 #Javascript
将string解析为json的几种方式小结
Nov 11 #Javascript
js读取本地excel文档数据的代码
Nov 11 #Javascript
JS维吉尼亚密码算法实现代码
Nov 09 #Javascript
You might like
php递归实现无限分类生成下拉列表的函数
2010/08/08 PHP
PHP中对各种加密算法、Hash算法的速度测试对比代码
2014/07/08 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
2017/08/29 PHP
Javascript的表单验证-提交表单
2016/03/18 Javascript
Jquery EasyUI实现treegrid上显示checkbox并取选定值的方法
2016/04/29 Javascript
jQuery 获取跨域XML(RSS)数据的相关总结分析
2016/05/18 Javascript
JavaScrip数组删除特定元素的几种方法总结
2017/09/06 Javascript
使用vue-infinite-scroll实现无限滚动效果
2018/06/22 Javascript
微信小程序实现比较功能的方法汇总(五种方法)
2020/03/07 Javascript
vue实现员工信息录入功能
2020/06/11 Javascript
js实现微信聊天界面
2020/08/09 Javascript
浅谈vue获得后台数据无法显示到table上面的坑
2020/08/13 Javascript
如何在现代JavaScript中编写异步任务
2021/01/31 Javascript
Python中的MongoDB基本操作:连接、查询实例
2015/02/13 Python
用Python程序抓取网页的HTML信息的一个小实例
2015/05/02 Python
Python实现求解一元二次方程的方法示例
2018/06/20 Python
Python检查ping终端的方法
2019/01/26 Python
python如何将两个txt文件内容合并
2019/10/18 Python
Python上下文管理器类和上下文管理器装饰器contextmanager用法实例分析
2019/11/07 Python
使用pandas实现连续数据的离散化处理方式(分箱操作)
2019/11/22 Python
Python基于gevent实现高并发代码实例
2020/05/15 Python
python 求两个向量的顺时针夹角操作
2021/03/04 Python
解决Firefox下不支持outerHTML问题代码分享
2014/06/04 HTML / CSS
html5使用window.postMessage进行跨域实现数据交互的一次实战
2021/02/24 HTML / CSS
社团活动策划书范文
2014/01/09 职场文书
人力资源经理的岗位职责
2014/03/02 职场文书
2014年新生军训方案
2014/05/01 职场文书
2014镇副书记群众路线专题民主生活会思想汇报
2014/09/23 职场文书
群众路线教师自我剖析材料
2014/09/29 职场文书
机关单位工作失职检讨书
2014/11/20 职场文书
党风廉政建设调研报告
2015/01/01 职场文书
财务工作失误检讨书
2015/02/19 职场文书
2015年法制宣传月活动总结
2015/03/26 职场文书
Python实现的扫码工具居然这么好用!
2021/06/07 Python
解决IIS7下无法绑定https主机的问题
2022/04/29 Servers
使用 Docker Compose 构建复杂的多容器App
2022/04/30 Servers