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

发布时间 - 2026-01-11 03:09:06    点击率:

本文实例为大家分享了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 判断字符串中是否包含中文并过滤掉中文,请移步文章:java 判断字符串中是否包含中文并过滤掉中文

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


# java中文校验  # java特殊字符校验  # java校验中文及特殊字符  # java如何使用正则表达式限制特殊字符的个数  # java过滤特殊字符操作(xss攻击解决方案)  # Java利用StringBuffer替换特殊字符的方法实现  # java利用正则表达式处理特殊字符的方法实例  # Java处理不可见特殊字符要点解析  # Java中前端传参含有“+”“=”等特殊字符处理方式  # 象形文字  # 全角  # 符合条件  # 过滤掉  # 半角  # 大家分享  # 具体内容  # 大家多多  # 就是指  # 不包含  # 九宫格  # DBF  # GENERAL_PUNCTUATION  # FAFF  # CJK_COMPATIBILITY_IDEOGRAPHS  # CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A  # cTemp  # FFEF  # res  # pre 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程  Laravel如何使用Livewire构建动态组件?(入门代码)  油猴 教程,油猴搜脚本为什么会网页无法显示?  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  googleplay官方入口在哪里_Google Play官方商店快速入口指南  Windows Hello人脸识别突然无法使用  WEB开发之注册页面验证码倒计时代码的实现  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  如何自定义建站之星网站的导航菜单样式?  Python并发异常传播_错误处理解析【教程】  网站优化排名时,需要考虑哪些问题呢?  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  如何快速配置高效服务器建站软件?  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  EditPlus中的正则表达式 实战(2)  手机软键盘弹出时影响布局的解决方法  Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区  Laravel中的withCount方法怎么高效统计关联模型数量  Laravel怎么生成URL_Laravel路由命名与URL生成函数详解  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  如何挑选优质建站一级代理提升网站排名?  如何在阿里云域名上完成建站全流程?  Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程  简历在线制作网站免费版,如何创建个人简历?  Laravel怎么实现验证码(Captcha)功能  Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  Laravel如何使用withoutEvents方法临时禁用模型事件  Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)  Laravel如何实现API版本控制_Laravel版本化API设计方案  如何用景安虚拟主机手机版绑定域名建站?  Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践  Bootstrap整体框架之CSS12栅格系统  创业网站制作流程,创业网站可靠吗?  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置  高防服务器如何保障网站安全无虞?  Android仿QQ列表左滑删除操作  Python数据仓库与ETL构建实战_Airflow调度流程详解  linux top下的 minerd 木马清除方法  Laravel Debugbar怎么安装_Laravel调试工具栏配置指南  Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】  Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中  JavaScript如何实现路由_前端路由原理是什么  使用豆包 AI 辅助进行简单网页 HTML 结构设计  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  太平洋网站制作公司,网络用语太平洋是什么意思?  Android okhttputils现在进度显示实例代码  如何在Windows虚拟主机上快速搭建网站?  如何快速建站并高效导出源代码?