企业邮箱的域名一般都是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. LeetCode-1610 可见点的最大数目

    来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maximum-number-of-visible-points 题目描述 给你一个点数组 poi ...

  2. Golang如何快速构建一个CLI小工示例

    这篇文章主要为大家介绍了Golang如何快速构建一个CLI小工具详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪 如何Golang快速构建一个CLI小工具 在现实开发的 ...

  3. Android MVP框架 详细代码

    android mvp的好处,网上一搜一大堆,相对于一开始普通的在activity中处理所有的不管是网络请求还是页面渲染,最大的好处是简洁了,废话不多说,看代码 这里网络请求使用了两种,一种是自己封装 ...

  4. MNIST数据集output with shape [1, 28, 28] doesn't match the broadcast shape [3, 28, 28]

    transform = transforms.Compose([ transforms.ToTensor(), transforms.Lambda(lambda x: x.repeat(3,1,1)) ...

  5. mac 暗黑破坏神2

    ​ https://590m.com/f/28636472-500475496-61a14b (访问密码:7410) 此版本可以更改人员属性参数,过程有点复杂,如需了解,请留言+v沟通吧... ​编辑 ...

  6. JavaSE——金额转换

    package com.zhao.stringtest; import java.util.Scanner; public class Test3 { //金额转换 //查表法 public stat ...

  7. Pycharm去除白色波浪线

  8. <input>输入框,限制输入的为正整数

    <input id="eventId" col="EventId" type="text" class="form-cont ...

  9. Java笔记_this关键字_HomeWork(9 - 题)

    第九题 /** * @ClassName HomeWork09 * @Description TODO * @Author Orange * @Date 2021/4/26 16:20 * @Vers ...

  10. 常用的js方法

    1. 声明和初始化数组 我们可以使用默认值(如"".null或 )初始化特定大小的数组0.您可能已经将这些用于一维数组,但如何初始化二维数组/矩阵呢? const array = ...