美文网首页
Java校验手机号和邮箱格式是否合法

Java校验手机号和邮箱格式是否合法

作者: 山巅自相见 | 来源:发表于2023-01-10 15:35 被阅读0次
    import org.apache.commons.lang3.StringUtils;
    
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
        /**
         * 校验手机号
         *
         * @param phone 手机号
         * @return 是否合格
         */
        public String checkPhone(String phone) {
            String regex = "^[1]([3-9])[0-9]{9}$";
            if (StringUtils.isEmpty(phone)) return "手机号为空";
            else {
                if (phone.length() != 11) return "手机号长度错误";
                else {
                    Pattern p = Pattern.compile(regex);
                    Matcher m = p.matcher(phone);
                    boolean isMatch = m.matches();
                    if (isMatch) return null;
                    else return "手机号格式错误";
                }
            }
        }
    
        /**
         * 校验邮箱
         *
         * @param email 邮箱
         * @return 是否合格
         */
        public boolean checkEmail(String email) {
            // 判断是否为空邮箱
            int k = 0;
            if (email == null) return false;
            /*
            单引号引的数据 是char类型的
            双引号引的数据 是String类型的
            单引号只能引一个字符
            而双引号可以引0个及其以上
             */
            // 判断是否有仅有一个@且不能在开头或结尾
            if (email.indexOf("@") > 0 && email.indexOf('@') == email.lastIndexOf('@') &&
                    email.indexOf('@') < email.length() - 1)
                k++;
            // 判断"@"之后必须有"."且不能紧跟
            if (email.indexOf('.', email.indexOf('@')) > email.indexOf('@') + 1) k++;
            // 判断"@"之前或之后不能紧跟"."
            if (email.indexOf('.') < email.indexOf('@') - 1 || email.indexOf('.') > email.indexOf('@') + 1) k++;
            // @之前要有6个字符
            if (email.indexOf('@') > 5) k++;
            if (email.endsWith("com") || email.endsWith("org") || email.endsWith("cn") || email.endsWith("net")) k++;
            return k == 5;
        }
    

    相关文章

      网友评论

          本文标题:Java校验手机号和邮箱格式是否合法

          本文链接:https://www.haomeiwen.com/subject/prsvcdtx.html