欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談regExp的test方法取得的值變化的原因及處理方法

 更新時(shí)間:2017年03月01日 09:23:17   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇淺談regExp的test方法取得的值變化的原因及處理方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

1、JavaScript 正則表達(dá)式對(duì)象RegExp的test方法,用于檢測(cè)一個(gè)字符串是否匹配某個(gè)模式。

字面量定義RegExp對(duì)象:var re = /pattern/attributes,其中attributes可以是g,i,m;

閱讀以下程序:

<script type="text/javascript"> 
var str = 'abc123'; 
var re = /^abc/g ;
var result1 = re.test(str); 
var result2 = re.test(str); 
var result3 = re.test(str); 
document.write('result1:' + result1 + '<br/>'); 
document.write('result2:' + result2 + '<br/>'); 
document.write('result3:' + result3); 
</script>

我們會(huì)認(rèn)為打印結(jié)果應(yīng)該是true;true;true;

而實(shí)際情況卻是true;false;true;

2、為什么第二個(gè)結(jié)果是false?

發(fā)現(xiàn)RegExp對(duì)象有一個(gè)lastIndex的屬性,如果使用了全局修飾符,那么執(zhí)行test方法后,lastIndex就會(huì)記錄匹配的字符串在原始字 符串中最后一位的索引加一,例如執(zhí)行了var result1 = re.test(str)后lastIndex為3(document.write('re.lastindex:' + re.lastIndex+ '<br/>');),如果沒(méi)有發(fā)現(xiàn)匹配lastIndex置為0。當(dāng)下次再執(zhí)行時(shí),對(duì)給定的字符串匹配不是從開(kāi)頭位置,而是要依據(jù)lastIndex提供的位置,由于這個(gè)原因,所以導(dǎo)致上例中result2的值為false。

3、處理方法:去除g;

即:var re = /^abc/g ;變?yōu)?var re = /^abc/;

以上這篇淺談regExp的test方法取得的值變化的原因及處理方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解js創(chuàng)建對(duì)象的幾種方式和對(duì)象方法

    詳解js創(chuàng)建對(duì)象的幾種方式和對(duì)象方法

    這篇文章主要介紹了詳解js創(chuàng)建對(duì)象的幾種方式和對(duì)象方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • layer 關(guān)閉指定彈出層的例子

    layer 關(guān)閉指定彈出層的例子

    今天小編就為大家分享一篇layer 關(guān)閉指定彈出層的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-09-09
  • 利用JS十分鐘判斷數(shù)組中存在元素的多種方式

    利用JS十分鐘判斷數(shù)組中存在元素的多種方式

    這篇文章主要給大家介紹了關(guān)于利用JS十分鐘判斷數(shù)組中存在元素的多種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • 最新評(píng)論