电话,手机,微信账号,邮箱正则表达式校验

来源:互联网 发布:淘宝官网电话400 编辑:程序博客网 时间:2024/04/30 05:35

正则表达式用好了真的挺强大

  • 手机号校验
  • 电话校验
  • 邮箱校验
  • 微信账号校验

1. 手机号校验

    /**     * 校验规则:     * 手机号为11位     * 首位只能为1     * 第二位只能是3-9数字     * 后面9位可以是任意数字     * @param phoneNum     * @return     */    public boolean checkMobilePhone(String phoneNum){        if(!TextUtils.isEmpty(phoneNum)) {            String reg = "1[3-9]\\d{9}";            return phoneNum.matches(reg);        }        return false;    }

2.电话校验

    /**     * 验证电话号码     * 手机号 (+17951这样的前缀和不带前缀的11位手机号 )     * 电话号(带区号,不带区号,带+这样前缀的)     * 带区号的话 区号3-4位 首位为0  不带区号 首位不能为0     */    public static boolean checkPhone(String phoneNum) {        boolean flag = false;        if(TextUtils.isEmpty(phoneNum))            return flag;        if(phoneNum.contains("-")){  //固定电话带区号 3-4            String reg = "0[1-9]{2,3}-\\d{7,8}";            flag = phoneNum.matches(reg);        }else if(phoneNum.contains("+")){ // + 3-5区号 加手机号            String reg1 = "\\+[1-9]\\d{2,4}1[3-9]\\d{9}"; //手机号            String reg2 = "\\+[1-9]\\d{2,4}[1-9]\\d{6,7}"; //固定电话            flag = phoneNum.matches(reg1) || phoneNum.matches(reg2);        }else {            String reg1 = "[1-9]\\d{6,7}";  //固定电话不带区号 7-8            String reg2 = "1[3-9]\\d{9}";   //手机号            flag = phoneNum.matches(reg1) || phoneNum.matches(reg2);        }        return flag;    }

3.校验邮箱 网上找的

/**     * 验证邮箱地址是否正确     */    public static boolean checkEmail(String email) {        boolean flag = false;        try {            // String check =            // "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";            String check = "^([a-z0-9A-Z]+[-|.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?.)+[a-zA-Z]{2,}$";            Pattern regex = Pattern.compile(check);            Matcher matcher = regex.matcher(email);            flag = matcher.matches();        } catch (Exception e) {            flag = false;        }        return flag;    }

4.校验微信账号

    /**     * 校验微信账号     * 微信账号分手机号     * qq号     * 邮箱号     * @param wxCode     * @return     */    public static boolean checkWeixin(String wxCode){        boolean flag = false;        if(!TextUtils.isEmpty(wxCode)){            if(!TextUtils.isEmpty(wxCode)){                if(wxCode.contains("@")){  //验证邮箱号                    String check = "^([a-z0-9A-Z]+[-|.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?.)+[a-zA-Z]{2,}$";                    Pattern regex = Pattern.compile(check);                    Matcher matcher = regex.matcher(wxCode);                    flag = matcher.matches();                }else {                    String reg1 = "[1-9]\\d{5,19}";  //qq号 6 - 20                    String reg2 = "1[3-9]\\d{9}";  //qq号或者手机号 11                    String reg3 = "[a-zA-Z][-_a-zA-Z0-9]{5,19}"; //微信号带字母的 6-20                    flag = wxCode.matches(reg1) || wxCode.matches(reg2) || wxCode.matches(reg3);                }            }        }        return flag;    }

5. 联系方式
qq:1509815887
email:zlc921022@163.com

阅读全文
0 0
原创粉丝点击