企业邮箱的域名一般都是zhangsan@公司域名,或者zhang_san@公司域名这种形式。这里我只列举zhangsan@公司域名这种形式。

公司要我做一个企业邮箱的模糊匹配和验证,刚接到以为很难。结果网上一查,发现有类似Api。瞬间小case了。

引入jar包:pinyin4j-2.5.0.jar

一下代码是我自己随便写的,应该还可以优化,用了两个循环,因为我们汉子中包含了很多多音字啦。

/**
  * 单个汉子检查
  * @param chinese
  * @return
  */
 public static boolean checkSpell(String chinese,String mailAccount) {
  boolean result = false;
  try {
   //设置转换格式
   HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
   defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE); // 设置大小写
   defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE); // 设置无声调表示
   char[] arr = chinese.toCharArray();
   for (int j = 0; j < arr.length; j++) {
    result = false;
    //调用拼音Api
    String[] pinyin = PinyinHelper.toHanyuPinyinStringArray(arr[j], defaultFormat);
    for (int i = 0; i < pinyin.length; i++) {
     //符合条件直接跳出循环
     if(mailAccount.startsWith(pinyin[i])){
      mailAccount = mailAccount.substring(mailAccount.indexOf(pinyin[i])+pinyin[i].length());
      result = true;
      break;
     }
    }
    if(result == true){
     continue;
    }
    return result;
   }
  } catch (BadHanyuPinyinOutputFormatCombination e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return result;
 }

public static void main(String[] args) {
  boolean result = checkSpell("长兴薄", "changxingbao@shyi.com");
  System.out.println(result);
  result = checkSpell("长兴薄", "chanxingbao@shyi.com");
  System.out.println(result);
  result = checkSpell("长兴薄", "changxingba@shyi.com");
  System.out.println(result);
  result = checkSpell("长兴薄", "changxinbao@shyi.com");
  System.out.println(result);
  result = checkSpell("长兴薄", "chanxingbao@shyi.com");
 }

版权所有,转载请注明出处。

关于邮箱怎么验证是不是真实的企业邮箱(java汉字和英文呼唤)的更多相关文章

  1. 【更新】Java发送邮件:个人邮箱(QQ & 网易163)+企业邮箱+Android

    这次把两种情况仔细说一下,因为好多人问啦. 第一种:企业邮箱 这里在这一篇已经说的很清楚了,这次不过是建立个maven工程,引入了最新的javamail依赖,代码优化了一下.直接上代码 pom < ...

  2. ubuntu 14.04 下evolution邮箱客户端设置(腾讯企业邮箱)

    安装 evolution 有PPA可用,支持 Ubuntu 14.04 及衍生系统.打开终端,输入以下命令: sudo add-apt-repository ppa:fta/gnome3 sudo a ...

  3. Java实现网易企业邮箱发送邮件

    最近项目需要用网易企业邮箱发送邮件,特意来将实现过程记录一下: maven导入jar包 <!-- javax.mai 核心包 --> <dependency> <grou ...

  4. Java + 腾讯企业邮箱 + javamail + SSL 发送邮件

    说实话腾讯的企业邮箱真心不错! 腾讯企业邮箱官网:http://exmail.qq.com/login/ 新用户注册:http://exmail.qq.com/onlinesell/intro 点击开 ...

  5. Laravel自带SMTP邮件组件实现发送邮件(QQ、163、企业邮箱都可)

    Laravel自带SMTP邮件组件实现发送邮件(QQ.163.企业邮箱都可)     laravel自带SMTP邮件配置和遇到的坑 laravel自带SwiftMailer库,集成了多种邮件API,可 ...

  6. 利用hutool配置发送邮件的问题 及 阿里企业邮箱526 Authentication failure 错误问题

    hutool 中发送邮件的配置的比较简单.可以参考hutool 官方的教程. 个人尝试了qq邮箱发送邮件 和 阿里企业邮箱发送邮件. 主要是配置不一样: 一.qq邮箱 qq邮箱 我的邮箱配置是: # ...

  7. 企业邮箱绑定微信后,如何设置通过本地验证。(Foxmail)

    老的电脑不行了,换了台暗影精灵3plus顶配,需要把相应的资料移动过来. 然后就发现企业邮箱是绑定了微信的,不能再机器上的Foxmail直接登录,这个问题以前解决过结果自己忘记了,重新解决记录下. 解 ...

  8. 一个基于POP3协议进行邮箱账号验证的类

    最近老陈要针对企业邮箱做一些开发,以对接企业OA神马的,但企业邮箱唯独没有开放账号密码验证功能,很恼火!不得已,翻出早些年的Asp代码改编成了C#类,实现了一个C#下的通过POP3协议进行邮箱账号验证 ...

  9. 腾讯QQ企业邮箱在ruby on rails 框架中的mailer配置

    在编写ruby on rails程序时,我们可能会需要用到发送邮件的程序,如果使用gmail进行smtp发送一般问题不大,但很多企业使用的是腾讯QQ企业邮箱.使用该邮箱进行链接时出现各种错误,goog ...

  10. outlook邮箱邮件与企业邮箱同步(outlook本地文件夹邮件,web邮箱里没有)

    用惯了outlook2010, 问题:今天将邮件放到自定义文件夹后,发现在web邮箱中看不到邮件了.不能同步到企业邮箱. 解决忙了一天,才知道是账户类型问题,pop3类型,只下载不上传.所以outlo ...

随机推荐

  1. C#/VB.NET 如何在 Word 文档中添加页眉和页脚

    页眉位于文档中每个页面的顶部区域,常用于显示文档的附加信息,可以插入时间.图形.公司微标.文档标题.文件名或作者姓名等:页脚位于文档中每个页面的底部的区域,常用于显示文档的附加信息,可以在页脚中插入文 ...

  2. [引擎开发] 深入GPU和渲染优化(基础篇)

    https://blog.csdn.net/ZJU_fish1996/article/details/109269448

  3. PHP解密支付宝小程序的加密数据,手机号等。

    1.小程序端代码示例 my.getPhoneNumber({ success: (res) => { let encryptedData = res.response; my.httpReque ...

  4. 关于centos8yum源失效问题

    [CentOS8遇到错误]Error: Failed to download metadata for repo 'powertools'... 原因: CentOS Linux 8 已于 2021 ...

  5. OSPF邻居状态

    2021-03-24 OSPF状态 定义 Attempt 此状态只对非广播区域(NBMA)1网络中手动配置的邻居有效.在attempt状态中,路由器在每个轮询间隔期间向邻居发送单播hello数据包,在 ...

  6. 如何将多个TXT合并成一个TXT,文件名称提取

    方法1:1.将所有需要合并的TXT整理到一个文件夹中,切记,TXT合并最好每个TXT内容头或尾留一行间距,因为合并是直接合并,不会保留间距. 2.使用Windows命令cmd,切换到文件所在文件夹 3 ...

  7. 微信小程序tabBar图标显示失败问题

    练习tabBar时发现链入的图片在没有任何语句语法错误以及报错的情况下显示失败 试了很多办法 最后请教了一下学长才知道需要重启小程序开发工具并清缓存 问题解决

  8. js 判断条件分支优化

    优化前: 1.简单分支优化: 2.复杂分支优化: 3.抽离分支:

  9. 图片在div中居中

    要将一张图片垂直和水平居中在一个 <div> 元素中,你可以使用以下 CSS 样式: div { display: flex; justify-content: center; align ...

  10. Java密码加密的两种保存方式

    密码加密的两种方式(md5和base64) 常见的加密方式有盐值,md5和jdk自带的base64,这里我记录的是base64如何使用,以及破解的方式,话不多说,直接贴代码! 其实md5和加盐值都差不 ...