js中使用正則表達式的函數test時出現問題


最近做項目的時候,遇到要使用js或者jquery處理一些字符串的問題,尤其是匹配問題,這類問題,自然而言就歸到正則表達式了。

   使用正則表達式,無疑可以幫助開發者減輕代碼量,而且效率更高。

   那么,在使用js的test的時候,是否也遇到了reg.test is not a function之類的問題呢?

   經過多次調試發現,網上給出的教程大多數是錯誤。

   

   ① test(str),判斷字符串str是否匹配表達式,返回一個布爾值。例如:     var regx=/user/d+/g;     var flag=regx.test(“user12dd”);     flag的值為true。

     -------------------->出自zaifendou的《js正則表達式語法》

  

    ② 使用 var reg = new RegExp("\user/d+g\");

     reg.test("user12dd");

     使用反雙斜杠代替斜杠。

    --------------------------->出自哪里,已經忘了

   最后,經過度娘,發現原來是語法錯誤。只是自己沒有按照一定的關鍵字搜索,沒有檢索到自己想要的答案,我一直使用"test is not a function js正則表達式"的字樣檢索,結果忙碌很長時間。但是就在作者寫此文時,換了一種檢索方法:"js test正則表達式",結果出其不意啊,到處都是正確的寫法:

   js中正則表達式匹配時,如果使用test函數,就必須不帶引號,並且必須是先定義規則變量。所有帶引號的都是錯誤的!!!

  如果不適用test,使用match則可以帶引號。

   var re = /^[1-9]d{4,10}$/;  

   var str = "123456";  

   alert(re.test(str));     //返回true


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM