关于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+mysql开源XNA 聚合程序发布 下载
Jul 13 PHP
PHP 5.0对象模型深度探索之类的静态成员
Mar 27 PHP
PHP 中执行排序与 MySQL 中排序
Apr 21 PHP
一篇有意思的技术文章php介绍篇
Oct 26 PHP
PHP 杂谈《重构-改善既有代码的设计》之三 重新组织数据
Apr 09 PHP
PHP页面间参数传递的四种方法详解
Jun 09 PHP
解析PHP中数组元素升序、降序以及重新排序的函数
Jun 20 PHP
PHP使用socket发送HTTP请求的方法
Feb 14 PHP
PHP实现冒泡排序的简单实例
May 26 PHP
php实现给二维数组中所有一维数组添加值的方法
Feb 04 PHP
thinkPHP框架实现的短信接口验证码功能示例
Jun 20 PHP
PHP实现Markdown文章上传到七牛图床的实例内容
Feb 11 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
phpmyadmin出现Cannot start session without errors问题解决方法
2014/08/14 PHP
Laravel5框架自定义错误页面配置操作示例
2019/04/17 PHP
使用laravel根据用户类型来显示或隐藏字段
2019/10/17 PHP
TP - 比RBAC更好的权限认证方式(Auth类认证)
2021/03/09 PHP
深入document.write()与HTML4.01的非成对标签的详解
2013/05/08 Javascript
解析JavaScript中点号“.”的多义性
2013/12/02 Javascript
javascript制作网页图片上实现下雨效果
2015/02/26 Javascript
js实现常用排序算法
2016/08/09 Javascript
Vue.js快速入门教程
2016/09/07 Javascript
bootstrap模态框垂直居中效果
2016/12/03 Javascript
简单实现js选项卡切换效果
2017/02/09 Javascript
WebPack配置vue多页面的技巧
2018/05/15 Javascript
mac上配置Android环境变量的方法
2018/07/08 Javascript
vue中v-for通过动态绑定class实现触发效果
2018/12/06 Javascript
vue项目中在外部js文件中直接调用vue实例的方法比如说this
2019/04/28 Javascript
微信小程序使用车牌号输入法的示例代码
2019/08/20 Javascript
解决layer.open后laydate失效的问题
2019/09/06 Javascript
Python线程详解
2015/06/24 Python
TensorFlow 实战之实现卷积神经网络的实例讲解
2018/02/26 Python
利用Python如何制作好玩的GIF动图详解
2018/07/11 Python
Python3.5字符串常用操作实例详解
2019/05/01 Python
Python登录系统界面实现详解
2019/06/25 Python
在Django model中设置多个字段联合唯一约束的实例
2019/07/17 Python
将python包发布到PyPI和制作whl文件方式
2019/12/25 Python
pandas to_excel 添加颜色操作
2020/07/14 Python
Python 打印自己设计的字体的实例讲解
2021/01/04 Python
HTML中meta标签及Keywords
2020/04/15 HTML / CSS
世界上最大的糖果店:Dylan’s Candy Bar
2017/11/07 全球购物
俄罗斯茶和咖啡网上商店:Tea.ru
2021/01/26 全球购物
六年级数学教学反思
2014/02/03 职场文书
委托书样本
2014/04/02 职场文书
警校毕业生自我评价
2014/04/06 职场文书
2014卖家双十一活动策划书
2014/09/29 职场文书
初三学生语文考试作弊检讨书
2014/12/14 职场文书
医院合作意向书范本
2015/05/08 职场文书
2015年幼儿园国庆节活动总结
2015/07/30 职场文书