加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Character.UnicodeBlock中cjk的说明详解

发布时间:2020-12-14 14:16:10 所属栏目:Java 来源:网络整理
导读:本文为大家分享了Character.UnicodeBlock中cjk的说明,供大家参考,具体内容如下 Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS : 4E00-9FBF:CJK 统一表意符号 Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS :F900-FAFF:CJK 兼容象形文字 Char

本文为大家分享了Character.UnicodeBlock中cjk的说明,供大家参考,具体内容如下

Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS : 4E00-9FBF:CJK 统一表意符号
Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS :F900-FAFF:CJK 兼容象形文字 Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A :3400-4DBF:CJK 统一表意符号扩展 A
CJK的意思是“Chinese,Japanese,Korea”的简写 ,实际上就是指中日韩三国的象形文字的Unicode编码
Character.UnicodeBlock.GENERAL_PUNCTUATION :2000-206F:常用标点 Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION :3000-303F:CJK 符号和标点 Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS :FF00-FFEF:半角及全角形式

/**
   * 校验一个字符是否是汉字
   * 
   * @param c
   *      被校验的字符
   * @return true代表是汉字
   */
  public static boolean isChineseChar(char c) {
    try {
      return String.valueOf(c).getBytes("UTF-8").length > 1;
    } catch (UnsupportedEncodingException e) {
      e.printStackTrace();
      return false;
    }
  }

  /**
   * 验证字符串内容是否包含下列非法字符<br>
   * `~!#%^&*=+|{};:'",<>/?○●★☆♀♂※¤pのe
   * 
   * @param content
   *      字符串内容
   * @return 't'代表不包含非法字符,otherwise代表包含非法字符。
   */
  public static char validateLegalString(String content) {
    String illegal = "`~!#%^&*=+|{};:'",<>/?○●★☆♀♂※¤pのe";
    char isLegalChar = 't';
    L1: for (int i = 0; i < content.length(); i++) {
      for (int j = 0; j < illegal.length(); j++) {
        if (content.charAt(i) == illegal.charAt(j)) {
          isLegalChar = content.charAt(i);
          break L1;
        }
      }
    }
    return isLegalChar;
  }

  /**
   * 验证是否是汉字或者0-9、a-z、A-Z
   * 
   * @param c
   *      被验证的char
   * @return true代表符合条件
   */
  public static boolean isRightChar(char c) {
    return isChinese(c) || isWord(c);
  }

  /**
   * 校验某个字符是否是a-z、A-Z、_、0-9
   * 
   * @param c
   *      被校验的字符
   * @return true代表符合条件
   */
  public static boolean isWord(char c) {
    String regEx = "[w]";
    Pattern p = Pattern.compile(regEx);
    Matcher m = p.matcher("" + c);
    return m.matches();
  }

  /**
   * 判定输入的是否是汉字
   * 
   * @param c
   *      被校验的字符
   * @return true代表是汉字
   */
  public static boolean isChinese(char c) {
    Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);
    if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS
        || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
        || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
        || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION
        || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION
        || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {
      return true;
    }
    return false;
  }

  /**
   * 校验String是否全是中文
   * 
   * @param name
   *      被校验的字符串
   * @return true代表全是汉字
   */
  public static boolean checkNameChese(String name) {
    boolean res = true;
    char[] cTemp = name.toCharArray();
    for (int i = 0; i < name.length(); i++) {
      if (!isChinese(cTemp[i])) {
        res = false;
        break;
      }
    }
    return res;
  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读