標籤: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