Android登陸註冊的手機號碼匹配
阿新 • • 發佈:2019-02-13
1、背景介紹
在做開發的時候,經常會有一些應用,需要使用者的手機號碼註冊使用,避免任意輸入一個不是手機號碼的11位數字註冊,會使用正則表示式匹配。但是在網上找了很多匹配表示式,發現漏了一些,經過查詢,發現是現在4G的使用者,開始了新的手機號段。
2、表格
這裡有一個表格,是目前中國的手機號碼欄位,如下所示:
3、正則
在做java開發的時候,我們需要使用正則表示式匹配資料,程式碼如下:
/** * 手機號碼是否合法 * @param phoneNumber 手機號碼 * @return true 合法 */ public static boolean isRightPhone(String phoneNumber){ /** * 國內手機號碼驗證規則: * 移動:134、135、136、137、138、139、150、151、157(TD)、158、159、187、188 * 聯通:130、131、132、152、155、156、185、186 * 電信:133、153、180、189、(1349衛通) * 新增的4G手機號段: * 中國電信分到新號段170,177,聯通分到了176,移動分到了178號段. */ String regExp = "^((13[0-9])|(14[5,7])|(15[^4,\\D])|(17[0,6-8])|(18[0-9]))\\d{8}$"; Pattern p = Pattern.compile(regExp); Matcher m = p.matcher(phoneNumber); return m.matches(); }