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

java中文及特殊字符的校验方法

程序员文章站 2024-02-28 15:43:40
本文实例为大家分享了android九宫格图片展示的具体代码,供大家参考,具体内容如下 参考链接:character.unicodeblock中cjk的说明详解 1.关于...

本文实例为大家分享了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>
 * `~!#%^&*=+\\|{};:'\",<>/?○●★☆☉♀♂※¤╬の〆
 * 
 * @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;
}

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

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

上一篇: asp.net Gridview分页保存选项

下一篇: