1. 程式人生 > >正則練習題,一起開心的掉髮

正則練習題,一起開心的掉髮

 這兩天照鏡子發現一如既往的帥,於是乎翻起了正則,打算學習梳理記錄起來,一起來開心的掉髮吧。自拍鎮樓

純屬個人學習所記錄,寫的不對煩請指正,有些理解與大牛有出入。勿噴!話不多說,歡樂時光就要開始了。

  首先讓我們來了解一下正則是幹什麼的,抄他家翻他家底。正則表示式,又稱正規表示式、正規表示法、正規表示式、規則表示式、常規表示法(英語:Regular Expression,在程式碼中常寫為regex、regexp或RE),電腦科學的一個概念。正則表示式使用單個字串來描述、匹配一系列匹配某個句法規則的字串。在很多文字編輯器裡,正則表示式通常被用來檢索、替換那些匹配某個模式的文字。看起來有點枯燥,這段話是我複製過來的。其實通俗點講就是在網頁上我們經常需要按照某種規則去匹配符合條件的字串,正則就是記錄文字規則的程式碼。

  好了,至於為什麼要用正則,正則有什麼好就不用再瞎比比了。接下來說一下元字元,因為字元挺多的。就不一一列舉了,到下文有用到的就直接使用了,不大懂的建議翻看上一篇文章查閱一下正則表示式元字元大整理

  再列舉一下正則的幾種用法:

1、test():在字串查詢符合正則的內容,如果查詢到返回true,反之返回false

用法:正則.test(字串)

2、search():在字串搜尋符合正則的內容,找到就返回出現的位置index。如果有多個相匹配的,只會返回第一個匹配的位置。搜尋失敗返回-1

用法:正則.search(字串)

3、match():在字串搜尋符合正則的內容,成功返回內容(陣列格式),失敗返回null

用法:正則.match(字串)

4、replace():查詢符合正則的內容,替換成對應字串。返回替換後的內容

用法: 字串.replace(正則,‘替換內容’)

練習題1:驗證使用者輸入的郵政編碼是否正確

郵政編碼一般都是六位數字,那麼看下錶達式的規則程式碼怎麼寫。正則裡面的//等同於雙引號。接下來是^是表示以xx開頭,而$則是以xx結尾,

接下來的\d就是表示任意數字,而{6}就表示6位數字了。程式碼串起來理解便是以數字開頭,內容一共是6位數字,也以數字結尾。那麼這樣就可以以這個規則匹配郵箱了

練習題2:驗證使用者輸入的身份證是否正確,要求:要麼是15位,要麼是18位的數字。15位的最後一位也有可能是x

那麼看一下正則怎麼寫呢


練習題3:驗證日期格式是否正確。日期格式都是2018-12-14,四位數-兩位數-兩位數,那麼看下正則寫法

 

上面的寫法看起來是沒什麼問題的,因為首先月份是0-12,日期是0-31.而不是任意的數字了,所以還是要重新寫一遍。看下圖

練習題4:將手機號中間4位換成*,看下正則寫法

練習題5:將一段文字中的MM/DD/YYYY格式的日期轉換為YYYY-MM-DD格式。假如我的生日是1995/11/00,而翻轉過來就是00/11/1995了,那麼怎麼轉換呢,看上面的例子,再來寫正則

練習題6:找出陣列中的表示日期的時間字串,並修改格式為‘日-月-年’

 

練習題7:去掉http協議的jpg檔案的協議頭

練習題8:將字串中的abc替換為xyz

練習題9:判斷字串是否符合指定格式xxx-xx-x,Number型別

練習題10:判斷字串是否以母音字母結尾

練習題11:匹配QQ號,5-10位數字,第一位非0

練習題12:判斷QQ郵箱格式是否正確,前面5-10位數字,加上@qq.com

練習題13:清空字串的前後空格

練習題14:字串轉駝峰寫法

練習題15:驗證漢字