本文實例分析了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中文網!