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

JS中使用正則表達式g模式和非g模式的區(qū)別

 更新時間:2017年04月01日 17:06:04   作者:mischen520  
這篇文章給大家詳細介紹了JS中使用正則表達式g模式和非g模式的區(qū)別,非常不錯,具有參考借鑒價值,需要的朋友參考下吧

先給大家說下js正則表達式中的g到底是什么意思

g是global的縮寫??!

就是匹配全部可匹配結果,

如果你不帶g,在正則過程中,字符串是從左至右匹配的,如果匹配成功就不再繼續(xù)向右匹配了,如果你帶g,它會重頭到尾的把正確匹配的字符串挑選出來

例如:

var str = 'aaaaaaaa'
var reg1 = /a/
var reg2 = /a/g
str.match(reg1)  // 結果為:["a", index: 0, input: "aaaaaaaa"]
str.match(reg2)  // 結果為:["a", "a", "a", "a", "a", "a", "a", "a"]

js正則表達式g模式與非g模式的區(qū)別,具體代碼如下所示:

<!DOCTYPE html> 
<html> 
<head lang="en"> 
  <meta charset="UTF-8"> 
  <title>mischen</title> 
  <script> 
    //js中使用正則表達式 
    function test(){ 
      //生成正則表達式對象; 
      // 在g模式下,正則表達式對象的exec和test方法,依賴 正則表達式對象的lastIndex屬性,而lastIndex會根據我們exec 
      // 和test的執(zhí)行 發(fā)生偏移  如果沒有相應匹配  lastIndex 重歸0 
      //在非g模式下,正則表達式對象的exec和test方法, lastIndex 不會發(fā)生偏移 
      //exec方法 如果正則表達式中 有分組  第一個返回的是 匹配到的字符串 后面是根據分組分別返回的匹配的 字符串 
      var reg=new RegExp("\\d+[a-z]+","ig"); //字符串里 \ 表示轉譯 
      var str="123abc123def"; 
      alert(reg.lastIndex);//0 
      alert(reg.exec(str));//123abc 
      alert(reg.lastIndex);//6 
      alert(reg.test(str));//true 
      alert(reg.lastIndex);//12 
    } 
   // test(); 
    test1(); 
    function test1(){ 
      //非g模式下使用 exec 和test 
      var reg=new RegExp("\\d+[a-z]+","i"); 
      var str="123abc123def"; 
//      alert(reg.lastIndex);//0 
//      alert(reg.exec(str));//123abc 
//      alert(reg.lastIndex);//0 
//      alert(reg.test(str));//true 
//      alert(reg.lastIndex);//0 
//      alert(reg.exec(str));//123abc 
//      alert(reg.lastIndex);//0 
//      alert(reg.test(str));//true 
//      alert(reg.lastIndex);//0 
      var reg=new RegExp("(\\d+)([a-z]+)","i"); 
      alert(reg.exec(str));//123abc,123,abc 
      alert(reg.exec(str));//123abc,123,abc 
    } 
  </script> 
</head> 
<body> 
</body> 
</html> 

以上所述是小編給大家介紹的JS中使用正則表達式g模式和非g模式的區(qū)別,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

相關文章

  • JS簡單實現(xiàn)滑動加載數(shù)據的方法示例

    JS簡單實現(xiàn)滑動加載數(shù)據的方法示例

    這篇文章主要介紹了JS簡單實現(xiàn)滑動加載數(shù)據的方法,涉及javascript事件響應及頁面元素屬性動態(tài)操作相關技巧,需要的朋友可以參考下
    2017-10-10
  • JavaScript 禁止用戶保存圖片的實現(xiàn)代碼

    JavaScript 禁止用戶保存圖片的實現(xiàn)代碼

    這篇文章主要介紹了JavaScript 禁止用戶保存圖片的實現(xiàn)代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • H5微信公眾號授權的簡單實現(xiàn)步驟

    H5微信公眾號授權的簡單實現(xiàn)步驟

    如果用戶在微信客戶端中訪問第三方網頁,公眾號可以通過微信網頁授權機制,來獲取用戶基本信息,進而實現(xiàn)業(yè)務邏輯,這篇文章主要給大家介紹了關于微信公眾號授權的相關資料,需要的朋友可以參考下
    2021-07-07
  • js中的new?Map的用法示例小結

    js中的new?Map的用法示例小結

    這篇文章主要介紹了js中的new?Map的用法示例小結,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-03-03
  • 使用js的replace()方法查找字符示例代碼

    使用js的replace()方法查找字符示例代碼

    JavaScript具有一個非常有用的方法replace(),可以用它利用備選字符集途歡指定的字符,下面有個不錯的示例,大家可以嘗試操作下
    2013-10-10
  • antd designable平臺的組件拖拽功能實現(xiàn)代碼

    antd designable平臺的組件拖拽功能實現(xiàn)代碼

    這篇文章主要介紹了antd designable平臺的組件拖拽功能實現(xiàn)代碼,本文給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-07-07
  • TypeScript判斷兩個數(shù)組的內容是否相等的實現(xiàn)

    TypeScript判斷兩個數(shù)組的內容是否相等的實現(xiàn)

    本文主要介紹了TypeScript?判斷兩個數(shù)組的內容是否相等,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-11-11
  • uniapp-路由uni-simple-router安裝配置教程

    uniapp-路由uni-simple-router安裝配置教程

    專為uniapp打造的路由器,和uniapp深度集成,uniapp用到了很多vue的api,但在路由管理的功能相對于vue-router還是比較欠缺的,比如全局導航守衛(wèi),本文給大家講解uniapp-路由uni-simple-router相關知識,感興趣的朋友跟隨小編一起看看吧
    2022-11-11
  • JavaScript前端開發(fā)時數(shù)值運算的小技巧

    JavaScript前端開發(fā)時數(shù)值運算的小技巧

    這篇文章主要介紹了JavaScript前端開發(fā)時數(shù)值運算的小技巧,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • 原生js實現(xiàn)計算購物車總金額的示例

    原生js實現(xiàn)計算購物車總金額的示例

    本文主要介紹了原生js實現(xiàn)計算購物車總金額的示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-04-04

最新評論