关于php正则匹配汉字的方法介绍


Posted in PHP onApril 25, 2013
php正则匹配汉字!

/^[\x{4e00}-\x{9fa5}]+$/u

以上这个正则表达式就是困扰了很多php程序员的匹配汉字的正则表达式

大家可能会觉得很简单,实际上不同编码,不同程序语言,都有些细微的出入,稍不注意就得不到正确的结果。

下面是utf-8编码的例子:
$str "汉字";
if (
preg_match("/^[\x{4e00}-\x{9fa5}]+$/u",$str)) {
print(
"该字符串全部是中文");
} else {
print(
"该字符串不全部是中文");

下面的例子包含gbk,gb2312的例子:

<?php
$action 
trim($_GET['action']);
if(
$action == "sub")
{
    
$str $_POST['dir'];    
    
//if(!preg_match("/^[".chr(0xa1)."-".chr(0xff)."A-Za-z0-9_]+$/",$str)) //GB2312汉字字母数字下划线正则表达式 
    
if(!preg_match("/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]+$/u",$str))   //UTF-8汉字字母数字下划线正则表达式
    
{   
         echo 
"<font color=red>您输入的[".$str."]含有违法字符</font>";   
     }
     else 
     {
         echo 
"<font color=green>您输入的[".$str."]完全合法,通过!</font>";   
     }
}
?>
<form method="POST" action="?action=sub">
输入字符(数字,字母,汉字,下划线):
     <input type="text" name="dir" value="">
     <input type="submit" value="提交">
</form>

PHP 相关文章推荐
桌面中心(三)修改数据库
Oct 09 PHP
PHP中限制IP段访问、禁止IP提交表单的代码
Apr 23 PHP
PHP stripos()函数及注意事项的分析
Jun 08 PHP
使用PHP实现Mysql读写分离
Jun 28 PHP
解析link_mysql的php版
Jun 30 PHP
JoshChen_web格式编码UTF8-无BOM的小细节分析
Aug 16 PHP
ThinkPHP3.1新特性之对页面压缩输出的支持
Jun 19 PHP
PHP代码实现表单数据验证类
Jul 28 PHP
PHP实现获取文件后缀名的几种常用方法
Aug 08 PHP
php获取一定范围内取N个不重复的随机数
May 28 PHP
php使用 readfile() 函数设置文件大小大小的方法
Aug 11 PHP
php中通用的excel导出方法实例
Dec 30 PHP
PHP中如何调用webservice的实例参考
Apr 25 #PHP
Php中用PDO查询Mysql来避免SQL注入风险的方法
Apr 25 #PHP
php中防止SQL注入的最佳解决方法
Apr 25 #PHP
Apache下禁止php文件被直接访问的解决方案
Apr 25 #PHP
PHP笔记之:日期函数的使用介绍
Apr 24 #PHP
php笔记之:AOP的应用
Apr 24 #PHP
php class中self,parent,this的区别以及实例介绍
Apr 24 #PHP
You might like
php下使用以下代码连接并测试
2008/04/09 PHP
PHP以及MYSQL日期比较方法
2012/11/29 PHP
Laravel 4 初级教程之视图、命名空间、路由
2014/10/30 PHP
php_imagick实现图片剪切、旋转、锐化、减色或增加特效的方法
2014/12/15 PHP
浅谈laravel框架与thinkPHP框架的区别
2019/10/23 PHP
基于jquery的修改当前TAB显示标题的代码
2010/12/11 Javascript
js实现搜索框关键字智能匹配代码
2020/03/26 Javascript
前端编码规范(3)JavaScript 开发规范
2017/01/21 Javascript
Vue.js仿Metronic高级表格(二)数据渲染
2017/04/19 Javascript
Angular 4依赖注入学习教程之ValueProvider的使用(七)
2017/06/04 Javascript
Vue2.0基于vue-cli+webpack同级组件之间的通信教程(推荐)
2017/09/14 Javascript
利用js给datalist或select动态添加option选项的方法
2018/01/25 Javascript
详解Vue中watch的高级用法
2018/05/02 Javascript
Vue 利用指令实现禁止反复发送请求的两种方法
2019/09/15 Javascript
webpack 处理CSS资源的实现
2019/09/27 Javascript
使用原生javascript开发计算器实例代码
2021/02/21 Javascript
Python中使用Tkinter模块创建GUI程序实例
2015/01/14 Python
Python检测生僻字的实现方法
2016/10/23 Python
Django实现跨域的2种方法
2019/07/31 Python
PyTorch的自适应池化Adaptive Pooling实例
2020/01/03 Python
使用tensorflow DataSet实现高效加载变长文本输入
2020/01/20 Python
Python pip安装第三方库实现过程解析
2020/07/09 Python
简单的Python人脸识别系统
2020/07/14 Python
iRobot官网:改变生活的家用机器人品牌
2016/09/20 全球购物
幼儿园教师培训方案
2014/02/04 职场文书
好学生评语大全
2014/05/05 职场文书
演讲稿开场白台词
2014/08/25 职场文书
庆六一文艺汇演活动方案
2014/08/26 职场文书
2014最新开业庆典策划方案(5篇)
2014/09/15 职场文书
无刑事犯罪记录证明范本
2014/09/29 职场文书
学校纪律作风整改措施思想汇报
2014/10/11 职场文书
2014年电话销售工作总结
2014/12/01 职场文书
工作调动申请报告
2015/05/18 职场文书
2015年劳动部工作总结
2015/05/23 职场文书
2015年第31个教师节致辞
2015/07/31 职场文书
2015团员个人年度总结
2015/11/24 职场文书