关于邮箱怎么验证是不是真实的企业邮箱(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");
}
版权所有,转载请注明出处。
最新文章
- WPF 开发 WebBrowser
- Web Mercator 公开的小秘密
- Centos6.5 python2.7连接mysql数据库
- Orchard源码分析(6):Shell相关
- 设计模式学习之工厂方法(Factory Method,创建型模式)(2)
- httpsClient抓取证书
- 断开SVN连接操作方法
- mysql位_01检查错误代码的方法
- H5常见的兼容问题及解决
- 转:Siri之父:语音交互或将主导未来十年发展
- NFS工作原理
- centos下网络的配置
- Deepin debian安装Libreoffice
- 爬虫之scrapy扩展
- java 基础 ----- Arrays 工具类
- H3 BPM J.V10.6.1 安装及快速使用手册
- spark高可用集群搭建及运行测试
- java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader
- linux 挂载windows下目录,其它linux机器nfs的目录,自己dd的文件
- Win10系统下编译OSG3.4
热门文章
- java学习日记20230227-java学习方法/转义字符/注释
- WDA学习(29):WDA &; HTML
- pgsql中over函数的应用
- java springboot项目树结构递归查询
- hadoop服务异常,磁盘坏道critical medium error,dev sdh,sector xxxx
- Java笔记_this关键字_HomeWork(9 - 题)
- 1. ansible学习总结: 基础模块
- JS中立即执行函数和闭包的区别
- Quartz 2D CGPattern学习笔记
- Java把List转成以逗号分隔的字符串