JS基礎系列——Regex

來源:互聯網
上載者:User

標籤:Regex   js   

    在ASP.NET中接觸過Regex,那時候是.NET在編輯器裡已經封裝好的。這次在JS中再次接觸,感覺理解的不是很到位,有必要好好總結一下。通過Regex可以省去眾多的條件判斷,用起來還是很方便的。  

    在編寫處理字串的程式或網頁時,經常會有尋找符合某些複雜規則的字串的需要。Regex就是用於描述

些規則的工具。則運算式主要用來驗證用戶端的輸入資料。等伺服器指令碼對其進行進一步處理 ASP.NET 、 PHP 在

服務器端通常會用,被發送到伺服器 因為用戶端驗證,可以節約大量的伺服器端的系統資源,並且提供更好的用

戶體驗。換句話說,Regex就是記錄文本規則的代碼。比如我們平常在網上註冊東西的時候,對郵箱格式的判

斷,使用者名的判斷以及電話號碼和社會安全號碼碼的判斷,都是通過Regex來判斷的。

    
(1)與Regex相關的兩個方法
     1)replace()方法返回根據Regex進行文字替換後的字串的複製。
     文法:stringObj.replace(rgExp,replaceText)
     2)match()方法使用Regex模式對字串執行尋找,並將包含尋找的結果作為數組返回。
     文法:stringObj.match(rgExp)
(2)Regex的兩種建立方式

    建立Regex和建立字串類似,建立Regex提供了兩種方法,一種是new運算子,另一種是字面量方式

    1)var box = new RegExp("box","ig");
    2)var box = /box/ig;
    Regex寫在兩個雙斜杠之間,最後一個雙斜杠後加g,雙斜杠之間寫上想要尋找的字串.g代表global的意

思即全域。當然如果想尋找的內容不區分大小寫,則在g後面加上i字母。m代表多行匹配。

    要想很好的理解Regex,一定要多做例子,在例子中理解。

var pattern =/[1-9][0-5]{5}/;   //郵遞區號匹配var str ="this is 224000";alert(pattern.test(str));var pattern =/^[\w]+\.(zip|gz|rar)/;   //檢查檔案的壓縮包var str ="s_.zip";alert(pattern.test(str));var pattern =/^([\w\.\-]+)@([\w\-]+)\.([a-zA-Z]{2,4}$)/;  //電子郵件的驗證var str ="[email protected]";alert(pattern.test(str));

    下面給這個網站對Regex的文法規則等進行了詳細介紹,希望對大家有所協助http://msdn.microsoft.com/zh-cn/library/28hw3sce(v=vs.80).aspx
    Regex以後應該會經常用到。我們可以在平常有意識地去積累一些常用的代碼,比如驗證生份證號碼,郵

箱,電話號碼等是否正確,形成自己的程式碼程式庫,在以後用到了回來查就可以了。

JS基礎系列——Regex

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.