首頁 > web前端 > js教程 > JS正規RegExp.test()使用注意事項(不具有重複性)

JS正規RegExp.test()使用注意事項(不具有重複性)

高洛峰
發布: 2017-01-09 15:23:36
原創
1657 人瀏覽過

本文實例分析了JS正規RegExp.test()使用注意事項。分享給大家供大家參考,具體如下:

先看下面這段程式碼:

// 2012-12-12 12:12:12
var regex = /\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/g;
// true
alert(regex.test("2012-12-12 12:12:12"));
// false
alert(regex.test("2012-12-12 12:12:12"));
登入後複製

執行結果已經在程式碼註解裡了,可以看到:對於同一個正規表示式物件regex,不能重複呼叫:第一次回傳true,第二次回傳false,很顯然這種效果不是我們想要的。這是因為RegExp.test()方法,第一次從位置0開始查找,可以匹配;第二次的查找位置就不是0了,說以就不能匹配了。

解決方式挺簡單:每次都讓test從第0個位置開始匹配就可以了:

// 2012-12-12 12:12:12
var regex = /\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/g;
// true
alert(regex.test("2012-12-12 12:12:12"));
regex.lastIndex = 0;
// true
alert(regex.test("2012-12-12 12:12:12"));
登入後複製

希望本文所述對大家JavaScript程式設計有所幫助。

更多JS正規RegExp.test()使用注意事項(不具有重複性)相關文章請關注PHP中文網!


相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板