企业邮箱的域名一般都是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. 【11】java之抽象类

    一.抽象类基本概念 1.1 抽象类 抽象类:是指在普通类的结构里增加抽象方法的组成部分,抽象类要使用 abstract 声明. 抽象方法:没有方法体且必须使用 abstract 关键字进行定义. 拥有 ...

  2. 【研究生学习】SNR、Eb/N0和Es/N0的关系

    SNR.Eb/N0与Es/N0的关系 在模拟通信中,SNR是一个非常有用的指标 实例说明

  3. Bug的分类及优先级划分

    P0等级(功能无法正常使用.Block测试流程) 严重花屏 内存泄漏 用户数据丢失或破坏 系统崩溃/死机/冻结 模块无法启动或异常退出 严重的数值计算错误 功能设计与需求严重不符 其它导致无法测试的错 ...

  4. springmvc 能进入Controller,但是前端页面还是404

    问题现象: 1.Controller里面的方法上已经加了注解 @ResponseBody 2.能进入controller的方法里面: 3.前端返回状态码 404: 4.控制台没有异常信息: 问题原因: ...

  5. Ubuntu系统安装搜狗拼音输入法

    问题背景 Ubuntu是使用人数最多的Linux发行版之一,其丰富的生态广受各位种花家程序员小伙伴们的欢迎.对种花家小伙伴们来说,最重要的功能之一就是中文输入法了.但是Ubuntu自带的中文输入法效果 ...

  6. input type='number' 去除小箭头 clear arrow

    input type='number' 去除小箭头 两种方法 方法一 For chrome, Safari, Edge, Opera : input::-webkit-outer-spin-butto ...

  7. Eclipse-Hadoop开发配置详解

    Eclipse_Hadoop开发详解 html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockqu ...

  8. 函数:3ds max 给选择对象设置轴心点

    ------轴心点函数大全------函数名称中的字母含义:------w:西 e:东 n:北 s:南 b:底 c:中心 t:顶 m:间 如:wnb表示西北下 smt表示南中上 fn pivot_wn ...

  9. redis底层数据结构之简单动态字符串(SDS)

    简单动态字符串(simple dynamic string,SDS) redis使用C语言编写的,但是redis的字符串却不是C语言中的字符串(以空字符'\0'结尾的字符数组),redis定义了一种简 ...

  10. 阻止google浏览器自动更新

    修改 "C:\Windows\System32\drivers\etc\host 文件,在最后增加 127.0.0.1 update.googleapis.com 保存后 win+r 快捷键 ...