关于邮箱怎么验证是不是真实的企业邮箱(java汉字和英文呼唤)
企业邮箱的域名一般都是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汉字和英文呼唤)的更多相关文章
- 【更新】Java发送邮件:个人邮箱(QQ & 网易163)+企业邮箱+Android
这次把两种情况仔细说一下,因为好多人问啦. 第一种:企业邮箱 这里在这一篇已经说的很清楚了,这次不过是建立个maven工程,引入了最新的javamail依赖,代码优化了一下.直接上代码 pom < ...
- ubuntu 14.04 下evolution邮箱客户端设置(腾讯企业邮箱)
安装 evolution 有PPA可用,支持 Ubuntu 14.04 及衍生系统.打开终端,输入以下命令: sudo add-apt-repository ppa:fta/gnome3 sudo a ...
- Java实现网易企业邮箱发送邮件
最近项目需要用网易企业邮箱发送邮件,特意来将实现过程记录一下: maven导入jar包 <!-- javax.mai 核心包 --> <dependency> <grou ...
- Java + 腾讯企业邮箱 + javamail + SSL 发送邮件
说实话腾讯的企业邮箱真心不错! 腾讯企业邮箱官网:http://exmail.qq.com/login/ 新用户注册:http://exmail.qq.com/onlinesell/intro 点击开 ...
- Laravel自带SMTP邮件组件实现发送邮件(QQ、163、企业邮箱都可)
Laravel自带SMTP邮件组件实现发送邮件(QQ.163.企业邮箱都可) laravel自带SMTP邮件配置和遇到的坑 laravel自带SwiftMailer库,集成了多种邮件API,可 ...
- 利用hutool配置发送邮件的问题 及 阿里企业邮箱526 Authentication failure 错误问题
hutool 中发送邮件的配置的比较简单.可以参考hutool 官方的教程. 个人尝试了qq邮箱发送邮件 和 阿里企业邮箱发送邮件. 主要是配置不一样: 一.qq邮箱 qq邮箱 我的邮箱配置是: # ...
- 企业邮箱绑定微信后,如何设置通过本地验证。(Foxmail)
老的电脑不行了,换了台暗影精灵3plus顶配,需要把相应的资料移动过来. 然后就发现企业邮箱是绑定了微信的,不能再机器上的Foxmail直接登录,这个问题以前解决过结果自己忘记了,重新解决记录下. 解 ...
- 一个基于POP3协议进行邮箱账号验证的类
最近老陈要针对企业邮箱做一些开发,以对接企业OA神马的,但企业邮箱唯独没有开放账号密码验证功能,很恼火!不得已,翻出早些年的Asp代码改编成了C#类,实现了一个C#下的通过POP3协议进行邮箱账号验证 ...
- 腾讯QQ企业邮箱在ruby on rails 框架中的mailer配置
在编写ruby on rails程序时,我们可能会需要用到发送邮件的程序,如果使用gmail进行smtp发送一般问题不大,但很多企业使用的是腾讯QQ企业邮箱.使用该邮箱进行链接时出现各种错误,goog ...
- outlook邮箱邮件与企业邮箱同步(outlook本地文件夹邮件,web邮箱里没有)
用惯了outlook2010, 问题:今天将邮件放到自定义文件夹后,发现在web邮箱中看不到邮件了.不能同步到企业邮箱. 解决忙了一天,才知道是账户类型问题,pop3类型,只下载不上传.所以outlo ...
随机推荐
- dotnet core 托管
1.托管形式 dotnet core的托管形式分为 进程内托管(InProcess).进程外托管 (OutOfProcess) 新建的Web程序csproj带有 <AspNetCoreHosti ...
- mysql 根据父id查询下级所有数据
select id,apply_resource_name from ( select t1.id,t1.apply_resource_name, if(find_in_set(parent_id, ...
- el-inpu 输入框,输入一个字符失去焦点,不能连续输入问题
问题出现的原因:输入框绑定值改变导致代码从新渲染 <div v-for="(x,index) in item.newAttrs " :key="x.en" ...
- jquery实现多图片上传
在做后台管理的时候,遇到这样一个需求,实现多张图片上传并按选中的顺序显示.PS:图片上传的时候是即时上传到服务器,后台返回图片在服务器上的地址,在最后点击提交按钮的时候,把地址传给后端写入数据库即可. ...
- MSF设置监听
一.msf需要生成一个payload 需要生成一个paylaod,window下面生成一个exe,注意:权限不够用sudo权限 sudo ./msfvenom -p windows/x64/meter ...
- Vue 实现点击空白处隐藏某节点
手动监听判断 <template> <div> <span ref="projectButton"> <el-popover v-mode ...
- PHP后端 H5页面 打开微信小程序
/** * 功能:获取小程序access_token * Author:郑康凯 * Date: 2023/2/6 0006 15:14 */ public function hhsGetAccessT ...
- mybatis读取blob类型
mybatis 读取blob数据 mybatis读取blob数据过程: 1.从数据库中读出blob数据类型,用pojo中的byte[]接收. 2.把文件保存成文件(或者变成base64也行). Cus ...
- Oralyzer-20220205
Usage: oralyzer.py [-h] [-u URL] [-l PATH] [-crlf] [-p PAYLOAD] [--proxy] [--wayback] 可选参数: -h, --he ...
- VSCode 设置启用终端执行yarn
如果你的vscode终端不支持 yarn run * 的命令你可以新建终端执行:get-ExecutionPolicy执行结果为:RemoteSigned 表示为禁用状态. 执行:set-Execut ...