当前位置: 移动技术网 > IT编程>开发语言>Java > Character.UnicodeBlock中cjk的说明详解

Character.UnicodeBlock中cjk的说明详解

2019年07月19日  | 移动技术网IT编程  | 我要评论

本文为大家分享了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;
  }

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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网