关于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 相关文章推荐
PHP 实例化类的一点摘记
Mar 23 PHP
php获取某个目录大小的代码
Sep 10 PHP
PHP 事务处理数据实现代码
May 13 PHP
php设计模式 Chain Of Responsibility (职责链模式)
Jun 26 PHP
PHP写杨辉三角实例代码
Jul 17 PHP
深入php var_dump()函数的详解
Jun 05 PHP
PHP常用函数和常见疑难问题解答
Mar 05 PHP
本地计算机无法启动Apache故障处理
Aug 08 PHP
php中session定期自动清理的方法
Nov 12 PHP
Zend Framework教程之前端控制器Zend_Controller_Front用法详解
Mar 07 PHP
Zend Framework框架中实现Ajax的方法示例
Jun 27 PHP
再谈Yii Framework框架中的事件event原理与应用
Apr 07 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
正则表达式语法
2006/10/09 Javascript
php下几个常用的去空、分组、调试数组函数
2009/02/22 PHP
PHP 采集程序中常用的函数
2009/12/09 PHP
解析PHP中empty is_null和isset的测试
2013/06/29 PHP
PHP callback函数使用方法和注意事项
2015/01/23 PHP
最新制作ThinkPHP3.2.3完全开发手册
2015/11/23 PHP
php中照片旋转 (orientation) 问题的正确处理
2017/02/16 PHP
浅谈ThinkPHP5.0版本和ThinkPHP3.2版本的区别
2017/06/17 PHP
php基于Redis消息队列实现的消息推送的方法
2018/11/28 PHP
在TP5数据库中四个字段实现无限分类的示例
2019/10/18 PHP
javascript 关于# 和 void的区别分析
2009/10/26 Javascript
js类型检查实现代码
2010/10/29 Javascript
跨域传值即主页面与iframe之间互相传值
2013/12/09 Javascript
jQuery中:checkbox选择器用法实例
2015/01/03 Javascript
浅谈Nodejs应用主文件index.js
2016/08/28 NodeJs
JS实现的表头列头固定页面功能示例
2017/01/10 Javascript
JS+canvas绘制的动态机械表动画效果
2017/09/12 Javascript
js实现每日签到功能
2018/11/29 Javascript
微信小程序自定义弹窗实现详解(可通用)
2019/07/04 Javascript
JavaScript鼠标悬停事件用法解析
2020/05/15 Javascript
Python中的多重装饰器
2015/04/11 Python
python 多个参数不为空校验方法
2019/02/14 Python
python ChainMap的使用和说明详解
2019/06/11 Python
ubuntu上安装python的实例方法
2019/09/30 Python
解决django-xadmin列表页filter关联对象搜索问题
2019/11/15 Python
英国和世界各地鲜花速递专家:Arena Flowers
2018/02/10 全球购物
英国拖鞋购买网站:Bedroom Athletics
2020/02/28 全球购物
实现strstr功能,即在父串中寻找子串首次出现的位置
2016/08/05 面试题
实习鉴定范文
2013/12/19 职场文书
资金主管岗位职责范本
2014/03/04 职场文书
毕业论文致谢怎么写
2015/05/14 职场文书
电影红河谷观后感
2015/06/11 职场文书
如何起草一份正确的合伙创业协议书?
2019/07/04 职场文书
pytorch 6 batch_train 批训练操作
2021/05/28 Python
手残删除python之后的补救方法
2021/06/26 Python
多人盗宝《绿林侠盗》第三赛季4.5上线 跨平台实装
2022/04/03 其他游戏