本文實例分析了JS正則RegExp.test()使用注意事項。分享給大家供大家參考,具體如下:
先看下面這段代碼:
// 2012-12-12 12:12:12var regex = //d{4}-/d{2}-/d{2} /d{2}:/d{2}:/d{2}/g;// truealert(regex.test("2012-12-12 12:12:12"));// falsealert(regex.test("2012-12-12 12:12:12"));
執行結果已經在代碼注釋里了,可以看到:對于同一個正則表達式對象regex,不能重復調用:第一次返回true,第二次就返回false,很顯然這種效果不是我們想要的。這是因為RegExp.test()方法,第一次從位置0開始查找,可以匹配;第二次的查找位置就不是0了,說以就不能匹配了。
解決方式挺簡單:每次都讓test從第0個位置開始匹配就可以了:
// 2012-12-12 12:12:12var regex = //d{4}-/d{2}-/d{2} /d{2}:/d{2}:/d{2}/g;// truealert(regex.test("2012-12-12 12:12:12"));regex.lastIndex = 0;// truealert(regex.test("2012-12-12 12:12:12"));
PS:這里再為大家提供2款非常方便的正則表達式工具供大家參考使用:
JavaScript正則表達式在線測試工具:
http://tools.VeVB.COm/regex/javascript
正則表達式在線生成工具:
http://tools.VeVB.COm/regex/create_reg
更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript正則表達式技巧大全》、《JavaScript替換操作技巧總結》、《JavaScript查找算法技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》、《JavaScript中json操作技巧總結》、《JavaScript錯誤與調試技巧總結》及《JavaScript數學運算用法總結》
希望本文所述對大家JavaScript程序設計有所幫助。
新聞熱點
疑難解答