欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Character.UnicodeBlock中cjk的说明详解

程序员文章站 2024-02-28 15:40:10
本文为大家分享了character.unicodeblock中cjk的说明,供大家参考,具体内容如下 character.unicodeblock.cjk_unified...

本文为大家分享了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>
   * `~!#%^&*=+\\|{};:'\",<>/?○●★☆☉♀♂※¤╬の〆
   * 
   * @param content
   *      字符串内容
   * @return 't'代表不包含非法字符,otherwise代表包含非法字符。
   */
  public static char validatelegalstring(string content) {
    string illegal = "`~!#%^&*=+\\|{};:'\",<>/?○●★☆☉♀♂※¤╬の〆";
    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;
  }

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