亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Regex > 正文

正確使用帶有"g"標記的javascript正則表達式

2020-03-16 21:16:53
字體:
來源:轉載
供稿:網友
javascript正則表達式是對字符串執行模式匹配的強大工具。正確使用它會給我們的工作帶來很大的便利??墒怯行┑胤接捎谖覀儧]有太注意或者根本不理解,就會遇到不可預料的麻煩。
 
 
下面我們要談談帶有"g" 標記的正則表達式的使用問題,首先讓我們看一段代碼,從例子入手更容易理解。 
復制代碼代碼如下:

1 function a(val) 
2 { 
3 var re = /^/d+$/g; 
4 alert(re.lastIndex); 
5 return re.test(val); 
6 } 
7 alert(a(5)); 
8 alert(a(6)); 

運行上述代碼,在不同瀏覽器中會得到不同結果,IE中:0 true 0 true,FF和Chrome中:0 true 1 false,看到這里,想必會有人一頭霧水,感到詫異。針對這個問題,就我目前查閱資料,找到了兩種方法。 

1、使用match 

復制代碼代碼如下:

1 function a(val) 


3 { 

5 var re = /^/d+$/g; 

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

9 return true; 
10 
11 else 
12 
13 return false; 
14 
15 } 
16 
17 alert(a(5)); 
18 
19 alert(a(6)); 

注:要使用""+val把val轉化為字符串,關于match的具體使用方法可參考這里 

2、使用不帶"g" 的正則表達式(var re=/^/d+$/或var re=new RegExp("^[0-9]+$")) 


復制代碼代碼如下:

1 function a(val) 

3 { 

5 var re = new RegExp("^[0-9]+$");//或者var re=/^/d+$/; 

7 return re.test(val); 

9 } 
10 
11 alert(a(5)); 
12 
13 alert(a(6)); 
14 
15 


注:var re = new RegExp("^[0-9]+$")中只能用[0-9],不能用/d,至于為什么,我不很明白,希望哪位知道的給講講。 

不難看出,上面兩種方法是從側面考慮怎么解決問題 的,沒有從正面解決,接下來我們從問題出現的本質上分析一下,并給出解決方法。 

要從問題出現的本質考慮,我們就不得不從"g" 標記說起,帶有"g"標記的正則表達式有一個屬性lastIndex,該屬性存放一個整數,它聲明的是上一次匹配文本之后的第一個字符的位置。上次匹配的結果是由方法 RegExp.exec() 和 RegExp.test() 找到的,它們都以 lastIndex 屬性所指的位置作為下次檢索的起始點。這樣,就可以通過反復調用這兩個方法來遍歷一個字符串中的所有匹配文本。該屬性是可讀可寫的。只要目標字符串的下一次搜索開始,就可以對它進行設置。當方法 exec() 或 test() 再也找不到可以匹配的文本時,它們會自動把 lastIndex 屬性重置為 0??吹竭@里我們不難看出問題出現的原因和解決方法了,只要我們在下次搜索之前把lastIndex屬性重置為0即可,如下: 


復制代碼代碼如下:

1 function a(val) 

3 { 

5 var re = /^/d+$/g; 

7 re.lastIndex=0;//重置lastIndex為0 

9 return re.test(val); 
10 
11 } 
12 
13 alert(a(5)); 
14 
15 alert(a(6)); 


關于lastIndex的更多解釋請看這里 

至此我們已經明白問題出現的本質,以及如何較好的解決這樣的問題,希望本文對一些人有幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品999| 欧美精品做受xxx性少妇| 国产精品情侣自拍| 尤物99国产成人精品视频| 精品成人乱色一区二区| 91亚洲精品一区二区| 亚洲欧美日韩在线高清直播| 高清在线视频日韩欧美| 日韩在线一区二区三区免费视频| 国产日本欧美在线观看| 亚洲成人1234| 最新69国产成人精品视频免费| 成人黄色片网站| 久久手机免费视频| 欧美在线视频导航| 日韩中文在线观看| 国产成人aa精品一区在线播放| 中文字幕亚洲色图| 亚洲综合日韩中文字幕v在线| 中文字幕日韩精品有码视频| 日韩最新中文字幕电影免费看| 欧美亚洲国产视频小说| 亚洲人成亚洲人成在线观看| 精品久久久国产| 国产精品最新在线观看| 国产午夜精品理论片a级探花| 午夜精品一区二区三区av| 日韩精品免费在线播放| 最近2019中文字幕在线高清| 中文字幕日韩在线播放| 欧美亚州一区二区三区| 亚洲网站视频福利| 色偷偷噜噜噜亚洲男人| 国产91九色视频| 亚洲片av在线| 国产精品欧美日韩一区二区| 欧美日韩国产一区二区三区| 亚洲sss综合天堂久久| 久久久精品在线| 亚州国产精品久久久| 亚洲第一区中文99精品| 欧美激情免费观看| 欧美片一区二区三区| 日韩欧美在线视频日韩欧美在线视频| 日韩精品免费综合视频在线播放| 国产成+人+综合+亚洲欧美丁香花| 91高潮精品免费porn| 亚洲人成电影网站色…| 久久国产精品久久精品| 国产精品久久久久不卡| 日韩影视在线观看| 91亚洲精品久久久| 在线观看亚洲视频| 久久亚洲综合国产精品99麻豆精品福利| 亚洲人成自拍网站| 亚洲精品99久久久久中文字幕| 欧美激情在线观看视频| 国产精品一二区| 国产在线精品成人一区二区三区| 欧美日韩高清在线观看| 日韩在线观看视频免费| 成人精品一区二区三区电影免费| 欧美在线免费观看| 国产成人a亚洲精品| 久久久久国色av免费观看性色| 亚洲人成网在线播放| 亚洲性猛交xxxxwww| 国产ts人妖一区二区三区| 国产精品久久久久av| 亚洲网站在线观看| 国产亚洲精品久久久| 欧美在线观看一区二区三区| 久久久久久久网站| 精品伊人久久97| 九九热精品视频在线播放| 国产亚洲精品久久久| 亚洲xxxxx| 日韩在线观看免费高清完整版| 亚洲视频网站在线观看| 日韩视频在线免费| 国产精品美女999| 91久久精品久久国产性色也91| 欧美性猛交xxxx免费看| 伦伦影院午夜日韩欧美限制| 九九热这里只有在线精品视| 国产成人一区二区| 欧美性猛交xxxx乱大交| www.久久撸.com| 亚洲色图第一页| 精品国产一区二区三区四区在线观看| 欧美精品九九久久| 亚洲精品v天堂中文字幕| 国产女人精品视频| 欧美激情在线视频二区| 成人美女av在线直播| 欧美激情视频网站| 日韩国产精品视频| 欧美电影《睫毛膏》| 欧美裸身视频免费观看| 欧美精品做受xxx性少妇| 日韩高清不卡av| 一区二区亚洲精品国产| 91国偷自产一区二区三区的观看方式| 国产精品久久不能| 成人欧美一区二区三区黑人孕妇| 粉嫩老牛aⅴ一区二区三区| 日韩在线视频网| 91福利视频网| 成人福利在线视频| 欧美日韩午夜剧场| 91精品国产91久久久久久最新| 成人黄色生活片| 欧美大片免费看| 国产精品jizz在线观看麻豆| 精品视频—区二区三区免费| 91高潮在线观看| 日韩亚洲精品电影| 久久综合伊人77777| 亚洲欧洲在线观看| 清纯唯美亚洲综合| 国产一区二区在线播放| 国模精品一区二区三区色天香| 亚洲欧美在线免费| 亚洲综合自拍一区| 欧美精品在线免费观看| 亚洲综合中文字幕68页| 国产精品久久久久久久av大片| 精品无人区乱码1区2区3区在线| 亚洲成人av片在线观看| 一区二区三区动漫| 亚洲欧美999| 欧美老女人在线视频| 国产成人精品久久二区二区| 欧美成人免费小视频| 亚洲免费伊人电影在线观看av| 国模精品视频一区二区| 国产丝袜精品第一页| 日韩美女视频在线观看| 亚洲色图第三页| 亚洲成色www8888| 最近2019中文字幕大全第二页| 日韩欧美一区二区三区| 午夜精品久久久久久久99热浪潮| 国产美女精品视频免费观看| 亚洲国产成人精品女人久久久| 国精产品一区一区三区有限在线| 亚洲色图av在线| 九九热这里只有精品免费看| 国产精自产拍久久久久久| 久久精品亚洲94久久精品| 91社影院在线观看| 久久久久久亚洲精品| 欧美一区二区三区艳史| 久久偷看各类女兵18女厕嘘嘘| 国产精品亚洲一区二区三区| 懂色av中文一区二区三区天美| 欧美成人免费视频| 91久久国产婷婷一区二区| 高清视频欧美一级| 久久久最新网址| 欧美性黄网官网| 夜夜嗨av一区二区三区四区| 97婷婷大伊香蕉精品视频| 色综合久久天天综线观看|