关于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程序员工具
May 26 PHP
php学习 函数 课件
Jun 15 PHP
从Web查询数据库之PHP与MySQL篇
Sep 25 PHP
数据库中排序的对比及使用条件详解
Feb 23 PHP
php中jpgraph类库的使用介绍
Aug 08 PHP
PDO防注入原理分析以及使用PDO的注意事项总结
Oct 23 PHP
PHP中使用GD库创建圆形饼图的例子
Nov 19 PHP
php写入数据到CSV文件的方法
Mar 14 PHP
全面解析PHP验证码的实现原理 附php验证码小案例
Aug 17 PHP
PHP基于Redis消息队列实现发布微博的方法
May 03 PHP
PHP autoload使用方法及步骤详解
Sep 05 PHP
laravel7学习之无限级分类的最新实现方法
Sep 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 access 数据连接与读取保存编辑数据的实现代码
2010/05/12 PHP
php之curl设置超时实例
2014/11/03 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
2017/09/16 PHP
golang实现php里的serialize()和unserialize()序列和反序列方法详解
2018/10/30 PHP
Jquery 表格合并的问题分享
2011/09/17 Javascript
浅谈Javascript事件模拟
2012/06/27 Javascript
js拦截alert对话框另类应用
2013/01/16 Javascript
Javascript控制页面链接在新窗口打开具体方法
2013/08/16 Javascript
php常见的页面跳转方法汇总
2015/04/15 Javascript
JavaScript保存并运算页面中数字类型变量的写法
2015/07/06 Javascript
web前端开发JQuery常用实例代码片段(50个)
2015/08/28 Javascript
Jquery中巧用Ajax的beforeSend方法
2016/01/20 Javascript
用jquery快速解决IE输入框不能输入的问题
2016/10/04 Javascript
详解React-Todos入门例子
2016/11/08 Javascript
详解Javascript中DOM的范围
2017/02/13 Javascript
详解Vue 2.0封装axios笔记
2017/06/22 Javascript
layui select动态添加option的实例
2018/03/07 Javascript
Vue实现按钮旋转和移动位置的实例代码
2018/08/09 Javascript
vue+Vue Router多级侧导航切换路由(页面)的实现代码
2018/12/20 Javascript
react中使用css的7中方式(最全总结)
2019/02/11 Javascript
vue + typescript + 极验登录验证的实现方法
2019/06/27 Javascript
使用 Opentype.js 生成字体子集的实例代码详解
2020/05/25 Javascript
python抓取最新博客内容并生成Rss
2015/05/17 Python
剖析Django中模版标签的解析与参数传递
2015/07/21 Python
总结Python编程中函数的使用要点
2016/03/20 Python
python查看微信好友是否删除自己
2016/12/19 Python
Python 实现Windows开机运行某软件的方法
2018/10/14 Python
python Dijkstra算法实现最短路径问题的方法
2019/09/19 Python
世界最大的票务市场:viagogo
2017/02/16 全球购物
法国大使拉杆箱官网:DELSEY Paris
2018/03/20 全球购物
美国隐形眼镜零售商:LensPure
2019/03/10 全球购物
英国奢侈品概念店:Base Blu
2019/05/16 全球购物
应届生服装设计自我评价
2013/09/20 职场文书
鲜果饮品店创业计划书
2014/01/21 职场文书
延安红色之旅心得体会
2014/10/07 职场文书
金秋助学感谢信
2015/01/21 职场文书