zoukankan      html  css  js  c++  java
  • 关于邮箱怎么验证是不是真实的企业邮箱(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");
     }

    版权所有,转载请注明出处。

  • 相关阅读:
    wrod2010删除分节符
    英文找工作网站
    win7中如何关闭“windows正在下载更新”
    设置pdf为护眼绿色
    如何查询Lancome生产及保质期
    (转)浅谈.NET下的多线程和并行计算(二)线程基本知识
    (转)浅谈.NET下的多线程和并行计算(一)前言
    (转载)一步一步学Linq to sql系列文章
    LINQ简介和LINQ to SQL语句之Where
    浅谈sql 、linq、lambda 查询语句的区别
  • 原文地址:https://www.cnblogs.com/hisunhyx/p/4910760.html
Copyright © 2011-2022 走看看