zoukankan      html  css  js  c++  java
  • Java国际化号码验证方法,国内手机号正则表达式

    Java国际化号码验证方法,国内手机号正则表达式

    中国电信号段 133、149、153、173、177、180、181、189、199
    中国联通号段 130、131、132、145、155、156、166、175、176、185、186
    中国移动号段 134(0-8)、135、136、137、138、139、147、150、151、152、157、158、159、178、182、183、184、187、188、198
    其他号段
    14号段以前为上网卡专属号段,如中国联通的是145,中国移动的是147等等。
    虚拟运营商
    电信:1700、1701、1702
    移动:1703、1705、1706
    联通:1704、1707、1708、1709、171
    卫星通信:1349
    public static boolean isPhone(String phone) {
        String regex = "^((13[0-9])|(14[5,7,9])|(15([0-3]|[5-9]))|(166)|(17[0,1,3,5,6,7,8])|(18[0-9])|(19[8|9]))\d{8}$";
        if (phone.length() != 11) {
            return false;
        } else {
            Pattern p = Pattern.compile(regex);
            Matcher m = p.matcher(phone);
            return m.matches();
        }
    }

    国际化号码,先判断区号为国内的+86再用国内的号码正则表达式,国外的再逐个添加规则

    public static boolean isPhone(String countrycode,String phone) {
            if (isNullOrEmpty(phone)) {
                return false;
            }
            //china phone
            if("+86".equals(countrycode)) {
                String regex = "^((13[0-9])|(14[5,7,9])|(15([0-3]|[5-9]))|(166)|(17[0,1,3,5,6,7,8])|(18[0-9])|(19[8|9]))\d{8}$";
                if (phone.length() != 11) {
                    return false;
                } else {
                    Pattern p = Pattern.compile(regex);
                    Matcher m = p.matcher(phone);
                    return m.matches();
                }
            }
            return true;
        }
  • 相关阅读:
    C语言实现用户输入
    QQ头像一键添加校徽
    csu oj Infected Computer 1427
    质数个数
    stl实现结构体排序关键语法要点(sort)
    理解 PHP 中的 Streams
    几款主流PHP框架的优缺点评比
    8个开发必备的PHP功能
    5个开发人员不应该错过的最好跨平台PHP编辑器
    推荐五款优秀的PHP代码重构工具
  • 原文地址:https://www.cnblogs.com/zdz8207/p/java-phone-regex.html
Copyright © 2011-2022 走看看