js正则/g

转载 2017年01月03日 12:06:02
http://aabc99.blog.163.com/blog/static/163010810201132185918581/

正则的思想都是一样的,但是具体的写法会有所不同,在这里提到的/g,/i,/m在其他的地方也许就不能用了。

一,js正则标志/g,/i,/m说明

1,/g 表示该表达式将用来在输入字符串中查找所有可能的匹配,返回的结果可以是多个。如果不加/g最多只会匹配一个

2,/i  表示匹配的时候不区分大小写

3,/m 表示多行匹配,什么是多行匹配呢?就是匹配换行符两端的潜在匹配。影响正则中的^$符号


二,实例说明

1,/g的用法

<script type="text/javascript">   
str = "tankZHang (231144)"+   
"tank ying (155445)";   
res = str.match(/tank/);    //没有加/g   
alert(res);                 //显示一个tank   
  
res = str.match(/tank/g);   //加了/g   
alert(res);                 //显示为tank,tank   
<STRONG></script></STRONG>  


2,/i的用法


<script type="text/javascript">   
str = "tankZHang (231144)"+  "tank ying (155445)"; 
  
res = str.match(/zhang/);       
alert(res);                  //显示为null   
  
res = str.match(/zhang/i);   //加了/i   
alert(res);                  //显示为ZHang   
</script>  


3,/m的用法


<script type="text/javascript">   
var p = /$/mg;   
var s = '1\n2\n3\n4\n5\n6';   
alert(p.test(s));  //显示为true   
alert(RegExp.rightContext.replace(/\x0A/g, '\\a'));  //显示\a2\a3\a4\a5\a6   
alert(RegExp.leftContext);    //显示为竖的2345   
alert(RegExp.rightContext);   //显示为6   
  
var p = /$/g;   
var s = '1\n2\n3\n4\n5\n6';   
alert(p.test(s));  //显示为true   
alert(RegExp.rightContext.replace(/\x0A/g, '\\a'));  //什么都不显示   
alert(RegExp.leftContext);    //显示为竖的123456   
alert(RegExp.rightContext);   //什么都不显示   
  
var p = /^/mg;   
var s = '1\n2\n3\n4\n5\n6';   
alert(p.test(s));    //显示为true   
alert(RegExp.rightContext.replace(/\x0A/g, '\\a')); //显示为1\a2\a3\a4\a5\a6   
alert(RegExp.leftContext);     //显示为竖的12345   
alert(RegExp.rightContext);    //显示为6   
</script>    
  
//从上例中可以看出/m影响的^$的分割方式 

上面说的三个例子,/i,/g,/m分开来说的,可以排列组合使用的。个人觉得/m没有多大用处

正则 /\D/g

onKeyUp="this.value=this.value.replace(/\D/g,'');" 红色的是什么意识 /g是什么意思 -------------------------------...
  • wangqi0079
  • wangqi0079
  • 2013年09月10日 10:41
  • 19774

js正则标志/g /i /m的用法,以及实例

一,js正则标志/g,/i,/m说明 1,/g 表示该表达式将用来在输入字符串中查找所有可能的匹配,返回的结果可以是多个。如果不加/g最多只会匹配一个 2,/i  表示匹配的时候不区分大小...
  • fygkchina
  • fygkchina
  • 2016年02月24日 16:42
  • 1385

关于js正则表达式g,i,m 参数的总结

对于表达式对象的exec方法,不加入g,则只返回第一个匹配,无论执行多少次均是如此,如果加入g,则第一次执行也返回第一个匹配,再执行返回第二个匹配,依次类推。例如 为了解答“正则...
  • ahhsxy
  • ahhsxy
  • 2011年08月23日 10:36
  • 1960

JS正则表达式全局标记g的解释

解答“正则表达式(/[^0-9]/g,'')中的"/g"是什么意思?”这个问题,也为了能够便于大家对正则表达式有一个更为综合和深刻的认识,我将一些关键点和容易犯糊涂的地方再系统总结一下。  总结...
  • rnZuoZuo
  • rnZuoZuo
  • 2014年04月30日 15:02
  • 1535

js 正则表达式/g对exec()测试结果的影响

遇到一个bug,代码的执行完全不在期望之内。 我写了一段这样的代码,实现的功能,就想实现一个简单的jquery选择器功能。function $(selector){ var ID_R...
  • zd10101501
  • zd10101501
  • 2016年04月20日 22:03
  • 758

js/javascript正则表达式中/g&amp;nbsp…

http://aabc99.blog.163.com/blog/static/163010810201132185918581/ 正则的思想都是一样的,但是具体的写法会有所不同,在这里提到的/g,...
  • baohanqing
  • baohanqing
  • 2013年12月30日 20:44
  • 1553

javascript正则全局匹配g慎用test方法

来自:http://www.coding123.net/article/20130108/javascript-regex-global-matcth-care-of-test-method.aspx...
  • Leolu007
  • Leolu007
  • 2013年02月08日 02:44
  • 1560

js中使用正则表达式(g模式和非g模式的区别)

js中使用正则表达式(g模式和非g模式的区别) mischen //js中使用正则表达式 function test(){ ...
  • miachen520
  • miachen520
  • 2016年07月12日 12:51
  • 890

【正则表达式】将前后空格用空字符串替代: str.replace(/(^\s*)|(\s*$)/g, "")

str.replace(/(^\s*)|(\s*$)/g, “”)用正则表达式将前后空格用空字符串替代 ^表示字符串必须以后面的规则开头, 在这里就是说字符串必须以\s*开头 \s 是空格的意思, *...
  • shenjun1992722
  • shenjun1992722
  • 2015年11月17日 23:21
  • 1413

详解JS正则replace的使用方法

在讲replace的高级应用之前,我们先简单梳理一下JS正则中的几个重要的知识点,以帮助你对基础知识的回顾,然后再讲解JS正则表达式在replace中的使用,以及常见的几个经典案例。  一、正则表...
  • honglei_zh
  • honglei_zh
  • 2016年09月20日 10:34
  • 1125
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:js正则/g
举报原因:
原因补充:

(最多只允许输入30个字)