亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

解決js相同的正則多次調用test()返回的值卻不同的問題

 更新時間:2018年10月10日 08:59:02   作者:專注前端30年  
今天小編就為大家分享一篇解決js相同的正則多次調用test()返回的值卻不同的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

代碼是這樣的:

var reg = /^1[345678][0-9]{9}$/g;
console.log(reg.test(15328044636));
console.log(reg.test(15328044636));

會發(fā)現控制臺打印的數據卻是:

true
false

問題原因

這是因為正則reg的g屬性,設置的全局匹配。RegExp有一個lastIndex屬性,來保存索引開始位置。

上面的問題,第一次調用的lastIndex值為0,到了第二次調用,值變成了11。

var reg = /^1[345678][0-9]{9}$/g;
console.log(reg.lastIndex, reg.test(15328044636));
console.log(reg.lastIndex, reg.test(15328044636));

//打印的值
0 true
11 false

解決方案

第一種方案是將g去掉,關閉全局匹配。

第二種就是在每次匹配之前將lastIndex的值設置為0。

var reg = /^1[345678][0-9]{9}$/g;
console.log(reg.lastIndex, reg.test(15328044636));
reg.lastIndex = 0;
console.log(reg.lastIndex, reg.test(15328044636));

//打印的值
0 true
0 true

以上這篇解決js相同的正則多次調用test()返回的值卻不同的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 點擊標簽切換和自動切換DIV選項卡

    點擊標簽切換和自動切換DIV選項卡

    點擊標簽切換DIV的效果,在很多地方都有見到過,而且實現的方法有很多,本例介紹的這個可以切換和自動切換DIV選項卡
    2014-08-08
  • 常用參考資料(手冊)下載或者鏈接

    常用參考資料(手冊)下載或者鏈接

    常用參考資料(手冊)下載或者鏈接...
    2006-07-07
  • JavaScript中實現new的兩種方式引發(fā)的探究

    JavaScript中實現new的兩種方式引發(fā)的探究

    眾所周知JS中new的作用是通過構造函數來創(chuàng)建一個實例對象,這篇文章主要給大家介紹了關于JavaScript中實現new的兩種方式引發(fā)的相關資料,需要的朋友們下面隨著小編來一起學習學習吧
    2021-05-05
  • 學習javascript,實現插入排序實現代碼

    學習javascript,實現插入排序實現代碼

    首先新建一個空列表,用于保存已排序的有序數列(我們稱之為"有序列表")。從原數列中取出一個數,將其插入"有序列表"中,使其仍舊保持有序狀態(tài)。
    2011-07-07
  • js中比較兩個對象是否相同的方法示例

    js中比較兩個對象是否相同的方法示例

    這篇文章主要介紹了js中比較兩個對象是否相同的方法,結合實例形式詳細分析了js對象遍歷、判斷等相關操作技巧,需要的朋友可以參考下
    2019-09-09
  • 值得分享的輕量級Bootstrap Table表格插件

    值得分享的輕量級Bootstrap Table表格插件

    這篇文章為大家分享了輕量級Bootstrap Table表格插件,以表格的形式顯示的數據,支持單選,復選框,排序,分頁,顯示/隱藏列等操作,感興趣的小伙伴們可以參考一下
    2016-05-05
  • js實現模態(tài)框拖拽

    js實現模態(tài)框拖拽

    這篇文章主要為大家詳細介紹了js實現模態(tài)框拖拽效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • JS實現從網頁頂部掉下彈出層效果的方法

    JS實現從網頁頂部掉下彈出層效果的方法

    這篇文章主要介紹了JS實現從網頁頂部掉下彈出層效果的方法,實例分析了javascript創(chuàng)建彈出窗口及窗口掉落與抖動效果實現方法,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-08-08
  • 借助FileReader實現將文件編碼為Base64后通過AJAX上傳

    借助FileReader實現將文件編碼為Base64后通過AJAX上傳

    這篇文章主要介紹了借助FileReader實現將文件編碼為Base64后通過AJAX上傳的方法,包括后端對文件數據解碼并保存的PHP代碼,需要的朋友可以參考下
    2015-12-12
  • JavaScript如何刪除字符串中子字符串

    JavaScript如何刪除字符串中子字符串

    本文介紹了如何從?JavaScript?中的字符串中刪除子字符串,并提供了兩種常用的方法:replace()?方法和?split()?方法,結合示例代碼給大家介紹的非常詳細,需要的朋友參考下吧
    2023-05-05

最新評論