正确使用带有g标记的javascript正则表达式
来源:诚信在线    发布时间:2017-06-29 11:55:44

  十二

  15 alert(a(六));

  六 }

  三 {

  一 function a(val)

  九 return true;

  13 alert(a(五));

  五 return re.test(val);

  16

  四

  八

  十一 }

  九 }

  八

  三 var re = /^\d+$/g;

  17 alert(a(五));

  至此咱们已大白成绩涌现的本色,和怎样较好的处理如许的成绩,进展本文对于一些人有扶助。

  五 var re = /^\d+$/g;

  八 alert(a(六));

  13 return false;

  14

  十

  二

  七 re.lastIndex=0;//重置lastIndex为0

  18

  二、利用没有带"g" 的正则表达式(var re=/^\d+$/或者var re=new RegExp("^[0-九]+$"))

  六

  一、利用match

  13 alert(a(六));

  六

  上面咱们要谈谈带有"g" 符号的正则表达式的运用题目,起首让我们瞅一段代码,从例子动手更简单懂得。

  一 function a(val)

  15

  十

  七 return re.test(val);

  不难看出,下面二种方式是从侧面思考怎样解决问题 的,不从正面办理,接下来咱们从成绩呈现的本质上阐明一下,并给出解决方法。

  二

  14

  14

  四

  七 alert(a(五));

  15 }

  五 var re = new RegExp("^[0-九]+$");//大概var re=/^\d+$/;

  复制代码 代码以下:

  三 {

  九 return re.test(val);

  二

  要从成绩涌现的素质思索,咱们便不能不从"g" 标志提及,带有"g"标识表记标帜的正则表达式有一个属性lastIndex,该属性寄存一个整数,它申明的是上一次婚配文本以后的第一个字符的地位。前次婚配的结果是由办法 RegExp.exec() 战 RegExp.test() 找到的,它们皆以 lastIndex 属性所指的地位作为下次检索的肇始面。如许,便能够经过频频挪用那两个要领去遍历一个字符串中的一切婚配文本。该属性是可读否写的。只需目的字符串的下一次搜刮入手下手,便能够对于它停止配置。当方式 exec() 或者 test() 再也找不到能够立室的文本时,它们会主动把 lastIndex 属性重置为 0。看到此处咱们不难看出成绩泛起的缘故原由以及解决方法了,只有咱们正在下次搜寻以前把lastIndex属性重置为0便可,以下:

  六

  运转上述代码,正在差别浏览器外会获得分歧效果,IE外:0 true 0 true,FF战Chrome外:0 true 一 false,看到此处,想必会有人一头雾水,感觉惊讶。针对这个问题,便尔今朝查阅材料,找到了二种法子。

  对于lastIndex的更多注释请看此处

  注:要利用""+val把val转化为字符串,对于match的详细使用方法否参考此处

  十一 else

  复制代码 代码以下:

  复制代码 代码以下:

  十二

  八

  一 function a(val)

  19 alert(a(六));

  七 if((""+val).match(re))

  十

  五 var re = /^\d+$/g;

  一 function a(val)

  你大概感兴趣的文章:正则表达式提取网址、题目、图片等1例(.Net Asp Javascript/Js)的完成JavaScript RegExp 正则表达式工具具体注明javascript正则表达式外参数g(全局)的感化JavaScript 正则表达式之RegExp属性、办法及利用阐发javascript RegExp工具(正则表达式)javascript正则表达式参数/g取/i及/gi的使用指南

  四 alert(re.lastIndex);

  十二

  注:var re = new RegExp("^[0-九]+$")外只能用[0-九],没有能用\d,至于为何,尔不很理解,希翼哪位晓得的给讲讲。

  二 {

  复制代码 代码以下:

  三 {

  四

  十一 alert(a(五));


诚信在线 除注明原创以外,其余均来自互联网以及微信朋友圈,如有侵权请联系站长立即删除!
文章地址:http://www.my517517.com/MS/20170629353.html



上一篇:js利用正则表达式检验输入内容是否为网址 下一篇:正则表达式匹配,替换,查找