溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Character.UnicodeBlock中cjk的說明詳解

發(fā)布時(shí)間:2020-08-24 11:47:05 來源:腳本之家 閱讀:184 作者:王自強(qiáng) 欄目:編程語言

本文為大家分享了Character.UnicodeBlock中cjk的說明,供大家參考,具體內(nèi)容如下

Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS : 4E00-9FBF:CJK 統(tǒng)一表意符號
Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS :F900-FAFF:CJK 兼容象形文字 Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A :3400-4DBF:CJK 統(tǒng)一表意符號擴(kuò)展 A
CJK的意思是“Chinese,Japanese,Korea”的簡寫 ,實(shí)際上就是指中日韓三國的象形文字的Unicode編碼
Character.UnicodeBlock.GENERAL_PUNCTUATION :2000-206F:常用標(biāo)點(diǎn) Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION :3000-303F:CJK 符號和標(biāo)點(diǎn) Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS :FF00-FFEF:半角及全角形式

/**
   * 校驗(yàn)一個(gè)字符是否是漢字
   * 
   * @param c
   *      被校驗(yàn)的字符
   * @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;
    }
  }

  /**
   * 驗(yàn)證字符串內(nèi)容是否包含下列非法字符<br>
   * `~!#%^&*=+\\|{};:'\",<>/?○●★☆☉♀♂※¤╬の〆
   * 
   * @param content
   *      字符串內(nèi)容
   * @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;
  }

  /**
   * 驗(yàn)證是否是漢字或者0-9、a-z、A-Z
   * 
   * @param c
   *      被驗(yàn)證的char
   * @return true代表符合條件
   */
  public static boolean isRightChar(char c) {
    return isChinese(c) || isWord(c);
  }

  /**
   * 校驗(yàn)?zāi)硞€(gè)字符是否是a-z、A-Z、_、0-9
   * 
   * @param c
   *      被校驗(yàn)的字符
   * @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
   *      被校驗(yàn)的字符
   * @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;
  }

  /**
   * 校驗(yàn)String是否全是中文
   * 
   * @param name
   *      被校驗(yàn)的字符串
   * @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;
  }

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI