Home > Java > javaTutorial > body text

Verification methods for special characters and Chinese in Java

黄舟
Release: 2017-09-08 10:38:44
Original
2451 people have browsed it

这篇文章主要为大家详细介绍了java中文及特殊字符的校验方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下

参考链接:Character.UnicodeBlock中cjk的说明详解

1.关于Character.UnicodeBlock的介绍

CJK的意思是“Chinese,Japanese,Korea”的简写 ,实际上就是指中日韩三国的象形文字的Unicode编码

Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS : 4E00-9FBF:Unicode 编码为 U+4E00~U+9FFF 的 CJK 统一文字

Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS :F900-FAFF:CJK 兼容象形文字

Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A :3400-4DBF:CJK 统一表意符号扩展 A
Character.UnicodeBlock.GENERAL_PUNCTUATION :2000-206F:常用标点

Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION :3000-303F:CJK 符号和标点   

Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS :FF00-FFEF:半角及全角形式

2.封装


/**
 * 校验一个字符是否是汉字
 * 
 * @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>
 * `~!#%^&*=+\\|{};:&#39;\",<>/?○●★☆☉♀♂※¤╬の〆
 * 
 * @param content
 *  字符串内容
 * @return &#39;t&#39;代表不包含非法字符,otherwise代表包含非法字符。
 */
public static char validateLegalString(String content) {
 String illegal = "`~!#%^&*=+\\|{};:&#39;\",<>/?○●★☆☉♀♂※¤╬の〆";
 char isLegalChar = &#39;t&#39;;
 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;
}
Copy after login

3.java 判断字符串中是否包含中文并过滤掉中文,请移步文章:java 判断字符串中是否包含中文并过滤掉中文

The above is the detailed content of Verification methods for special characters and Chinese in Java. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template