关于邮箱怎么验证是不是真实的企业邮箱(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 ...
随机推荐
- springboot跳转页面404的问题
今天测试的时候出现了这个问题: Cannot forward to error page for request [/] as the response has already been commit ...
- sqlit 自增id为null
CREATE TABLE proejct( id UNSIGNED INTEGER AUTO_INCREMENT, name VARCHAR(50) NOT NULL, type CHAR(10) N ...
- C# datatable group by分组
DataTable dt = new DataTable(); dt.Columns.Add("A"); dt.Columns.Add("B"); dt.Col ...
- VMware-包体选择
3.二进制包如何选择3.1选择适合当前系统的版本号: ●找不到适合的,才去尝试别的系统版本号 ●el6兼容el5; el5无法安装el63.2选择适合cpu的架构: ●x86_ _64包 ...
- 03-python基本数据类型详解
python基本数据类型详解 一.整型int 存储年龄,身份证号等 age = 18 id = 0000001 # 注:可以使用type关键字查看变量的数据类型 print(type(age)) # ...
- Springboot 拦截器的配置
在Springboot项目中添加拦截器,分两步: 1:创建一个拦截器类 2:配置拦截器 以上步骤完成就可以使用了,下面来添加拦截器: 1:创建一个拦截器类 MyInteceptor 继承 Handle ...
- vue 事件传递原始 DOM 事件
vue 事件传递原始 DOM 事件 在事件传参中传递特殊变量 $event @click= "warn('1', $event)"
- vue项目引入外部UI,不同页面自定义不同样式
做项目有些需求是项目要改版,但是又想留一个老项目的入口,所以不同页面要用不同样式,对于引入外部UI来说是个麻烦事,因为要设置外部UI组件的样式必须是全局设置,也就是说<style>< ...
- 下载nvm并安装vue环境
nvm下载地址 https://github.com/coreybutler/nvm-windows/releases 直接下载 nvm-setup.zip 到任意文件夹下,双击安装 安装过程会提示 ...
- golang流程控制if,switch分支
if 分支 if 单分支 if 条件表达式 { 逻辑代码 } package main import "fmt" func main() { //var a int = 9 //i ...