最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

注意 JavaScript 中 RegExp 對象的 test 方法

 更新時間:2007年01月09日 00:00:00   作者:  
JavaScript 中的 RegExp 對象用于正則表達式相關(guān)的操作,這個對象提供了一個方法 test 來判定某個字符串是否滿足某個 pattern. 返回值是 true/false.
今天我碰到了一個問題:

這里兩個測試的字符串應(yīng)該都滿足正則表達式中的模式,返回 true. 可是測試結(jié)果卻依次是:true, false.

我估計問題的原因可能是因為 RegExp 對象是有狀態(tài)的,并且在 test 方法的執(zhí)行時會在某個步驟中利用到狀態(tài)信息,這樣就造成了錯誤。
(注:RegExp 全局對象有一些靜態(tài)屬性和方法,比如 RegExp.$1... RegExp$9, 等)

解決這個問題的辦法也很簡單,就是每次重新初始化一次正則表達式對象:

在我看來,JavaScript 中正則表達式的這個行為設(shè)計的很奇怪,應(yīng)該說是和正常使用習(xí)慣有那么一點點的不同。雖然使用了很久的 JavaScript, 卻一直沒有注意到這個奇怪的現(xiàn)象。其他語言比如 Python, C# 等都不是這樣的。

了解這個問題詳細(xì)原因的朋友,請不吝指教。
當(dāng)然,你用了全局匹配模式 g. 所以用完要重置 lastIndex 


var re = /^\d+(?:\.\d)?$/ig; //==> "ig" 
alert(re.test('112.3')); 
re.lastIndex=0 //加這句 
alert(re.test('33')); 

或者 

var re = /^\d+(?:\.\d)?$/i; //==> only "i", no g 
alert(re.test('112.3')); 
alert(re.test('33')); 


這樣就OK了
對于你這個應(yīng)用環(huán)境來說,是不需要 "g" 的,其實 "i" 也不要, 
匹配一個數(shù)字要區(qū)分大小寫嗎?? 

不管加 "i" 還是加 "g" 都會讓你的代碼變慢。 
建議只有在非常必要的情況下才加上ig   

相關(guān)文章

  • 輕松掌握J(rèn)avaScript代理模式

    輕松掌握J(rèn)avaScript代理模式

    這篇文章主要幫助大家輕松掌握J(rèn)avaScript代理模式,什么是代理模式?代理的用途,感興趣的小伙伴們可以參考一下
    2016-08-08
  • js中document.getElementById(id)的具體用法

    js中document.getElementById(id)的具體用法

    本文主要介紹了js中document.getElementById(id)的具體用法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • layui在表格中嵌入上傳按鈕并修改上傳進度條的實例

    layui在表格中嵌入上傳按鈕并修改上傳進度條的實例

    這篇文章主要介紹了layui在表格中嵌入上傳按鈕并修改上傳進度條的實例,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-07-07
  • js如何獲取當(dāng)前網(wǎng)站的協(xié)議、域名、端口號

    js如何獲取當(dāng)前網(wǎng)站的協(xié)議、域名、端口號

    文章介紹了如何使用JavaScript的window.location對象獲取當(dāng)前網(wǎng)站的協(xié)議、域名、端口號,并提供了示例代碼,此外,還介紹了如何將這些部分組合成一個完整的URL
    2025-01-01
  • Webpack自動清理打包目錄的實現(xiàn)

    Webpack自動清理打包目錄的實現(xiàn)

    本文主要介紹了Webpack自動清理打包目錄的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • javascript+dom樹型菜單類,希望朋友們一起進步

    javascript+dom樹型菜單類,希望朋友們一起進步

    javascript+dom樹型菜單類,希望朋友們一起進步...
    2007-05-05
  • 處理Axios返回Promise對象的幾種常見方式

    處理Axios返回Promise對象的幾種常見方式

    Axios返回的是Promise對象,這意味著可以使用Promise的.then()、.catch()和.finally()方法來處理異步操作的結(jié)果,本文詳細(xì)介紹了處理Axios返回Promise對象的幾種常見方式,需要的朋友可以參考下
    2024-09-09
  • js中toString方法3個作用

    js中toString方法3個作用

    這篇文章主要給大家分享了js中toString方法的3個作用,文章圍繞js中toString方法的相關(guān)資料展開全文內(nèi)容,需要的小伙伴可以參考一下,希望對你的學(xué)習(xí)有所幫助
    2021-12-12
  • SVG快速構(gòu)建馬賽克效果

    SVG快速構(gòu)建馬賽克效果

    這篇文章主要為大家介紹了SVG快速構(gòu)建馬賽克效果示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • js實現(xiàn)類似jquery里animate動畫效果的方法

    js實現(xiàn)類似jquery里animate動畫效果的方法

    這篇文章主要介紹了js實現(xiàn)類似jquery里animate動畫效果的方法,實例分析了javascript模擬實現(xiàn)jQuery中animate動畫效果的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-04-04

最新評論

抚顺县| 资源县| 阿拉善盟| 林西县| 本溪| 汤阴县| 阿拉善右旗| 汤原县| 会理县| 类乌齐县| 驻马店市| 洪雅县| 师宗县| 临汾市| 新郑市| 镇巴县| 蒙自县| 长岛县| 德保县| 高安市| 吉安县| 邵阳县| 松江区| 家居| 布尔津县| 新晃| 巫溪县| 晴隆县| 绥阳县| 泸溪县| 永顺县| 房产| 林芝县| 长丰县| 南汇区| 鄂温| 玉门市| 赣州市| 海门市| 镇宁| 安乡县|