zoukankan      html  css  js  c++  java
  • 邮箱去除特殊符号

    public static String mailFormatInfo(String mail){
            try {
                if(StringUtil.isEmpty(mail)){
                    return mail;
                }
    
                //1,去除空格,特殊字符
                mail = mail.trim();
                mail = removeCR(mail);
                mail = removeSpace(mail);
                mail = mail.replace("u00A0", "");
    
                //2,循环去符号
                if(mail.contains(MAIL_SPIT)){
                    //替换@符号之前的内容
                    String preFix = mail.substring(0, mail.indexOf(MAIL_SPIT));
                    if(!org.springframework.util.StringUtils.isEmpty(preFix)){
                        int preLength = 0;
                        int sub = 0;
                        do{
                            //替换之前的长度
                            preLength = preFix.length();
                            //替换符号
                            String first = preFix.substring(0,1);
                            first = first.replaceAll("[\pP\p{Punct}]","");
                            preFix = first + preFix.substring(1);
                            //替换长度
                            sub = preLength - preFix.length();
                        }while (sub > 0 && preFix.length() > 0);
                    }
                    //替换@符号之后的内容
                    String lastFix = mail.substring(mail.indexOf(MAIL_SPIT) + 1);
                    if(!org.springframework.util.StringUtils.isEmpty(lastFix)){
                        int preLength = 0;
                        int sub = 0;
                        do{
                            //替换之前长度
                            preLength = lastFix.length();
                            //替换符号
                            String last = lastFix.substring(lastFix.length() - 1, lastFix.length());
                            last = last.replaceAll("[\pP\p{Punct}]","");
                            lastFix = lastFix.substring(0, lastFix.length() -1) + last;
                            //替换长度
                            sub = preLength - lastFix.length();
                        }while (sub > 0 && lastFix.length() > 0);
                    }
                    //组装最后替换结果
                    mail = preFix + MAIL_SPIT + lastFix;
                }
    
                //3,去除空格,特殊字符
                mail = mail.trim();
                mail = removeCR(mail);
                mail = removeSpace(mail);
            } catch (Exception e) {
                e.printStackTrace();
            }
            return mail;
        }
  • 相关阅读:
    js设计模式之 适配器模式与应用场景
    2017版本的IDEA
    JAVA实验六——图形用户界面设计——6-47选择整数计算
    升级apache版本
    基于 PVE + TrueNAS 的私有云配置流程
    基于Win10+VS2019的ceres-solver-2.0.0配置流程
    基于PVE+ROS+LEDE的软路由配置流程
    启动android studio
    vscode配置
    找不到https://raw.githubusercontent.com
  • 原文地址:https://www.cnblogs.com/wanhua-wu/p/11533707.html
Copyright © 2011-2022 走看看