Java處理正則驗證手機號-詳解

來源:互聯網
上載者:User

標籤:構造   reg   手機   Regex   聯通   表達   處理   開放   上海   

package phone;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 電訊廠商號段如下:
 * 中國聯通號碼:130、131、132、145(無線上網卡)、155、156、185(iPhone5上市後開放)、186、176(4G號段)、
 *               175(2015年9月10日正式啟用,暫只對北京、上海和廣東投放辦理)
 * 中國移動號碼:134、135、136、137、138、139、147(無線上網卡)、150、151、152、157、158、159、182、183、187、188、178
 * 中國電訊號碼:133、153、180、181、189、177、173、149 虛擬電訊廠商:170、1718、1719
 * 手機號前3位的數字包括:
 * 1 :1
 * 2 :3,4,5,7,8
 * 3 :0,1,2,3,4,5,6,7,8,9
 * 總結: 目前java手機號碼Regex有:
 * a :"^1[3|4|5|7|8][0-9]\\d{4,8}$"    一般驗證情況下這個就可以了
 * b :"^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(17[013678])|(18[0,5-9]))\\d{8}$"
 * Pattern和Matcher詳解(字串匹配和位元組碼)http://blog.csdn.net/u010700335/article/details/44616451
 */

public class MyPhoneTest {
    
    public static void main(String[] args) {
        String phone = "13123456789";
        String regex = "^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(17[013678])|(18[0,5-9]))\\d{8}$";
        if(phone.length() != 11){
            System.out.println("手機號應為11位元");
        }else{
            Pattern p = Pattern.compile(regex);
            Matcher m = p.matcher(phone);
            boolean isMatch = m.matches();
            if(isMatch){
                System.out.println("您的手機號" + phone + "是正確格式@——@");
            } else {
                System.out.println("您的手機號" + phone + "是錯誤格式!!!");
            }
        }
    }
    /**
     * 詳解:這是RegexPattern.compile("***");這個是規範
    Pattern類用於建立一個Regex,產生一個Pattern對象並且編譯一個Regex,也可以說建立一個匹配模式,
    它的構造方法是私人的,不可以直接建立,    但可以通過Pattern.complie(String regex)簡單Factory 方法建立一個Regex,
    輪到Matcher類登場了,Pattern.matcher(CharSequence input)返回一個Matcher對象.
    
    Matcher類的構造方法也是私人的,不能隨意建立,只能通過Pattern.matcher(CharSequence input)方法得到該類的執行個體
    String.matches() 這個方法主要是返回是否匹配指定的字串,如果匹配則為true,否則為false;
}

Java處理正則驗證手機號-詳解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.