关于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 相关文章推荐
Apache+php+mysql在windows下的安装与配置图解(最新版)
Nov 30 PHP
php cookie 登录验证示例代码
Mar 16 PHP
php中突破基于HTTP_REFERER的防盗链措施(stream_context_create)
Mar 29 PHP
深入php list()函数的详解
Jun 05 PHP
php根据isbn书号查询amazon网站上的图书信息的示例
Feb 13 PHP
支持生僻字且自动识别utf-8编码的php汉字转拼音类
Jun 27 PHP
成为好程序员必须避免的5个坏习惯
Jul 04 PHP
PHP借助phpmailer发送邮件
May 11 PHP
使用Thinkphp框架开发移动端接口
Aug 05 PHP
针对多用户实现头像上传功能PHP代码 适用于登陆页面制作
Aug 17 PHP
php 从指定数字中获取随机组合的简单方法(推荐)
Apr 05 PHP
PHP设计模式之装饰器模式实例详解
Feb 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
快速开发一个PHP扩展图文教程
2008/12/12 PHP
PHP代码实现表单数据验证类
2015/07/28 PHP
php插入mysql数据返回id的方法
2018/05/31 PHP
PHP使用SOAP调用API操作示例
2018/12/25 PHP
如何使Chrome控制台支持多行js模式——意外发现
2013/06/13 Javascript
在HTML中插入JavaScript代码的示例
2015/06/03 Javascript
jQuery实现平滑滚动的标签分栏切换效果
2015/08/28 Javascript
你所未知的3种Node.js代码优化方式
2016/02/25 Javascript
js实现模糊匹配功能
2017/02/15 Javascript
浏览器事件循环与vue nextTicket的实现
2019/04/16 Javascript
详解vue-cli3开发Chrome插件实践
2019/05/29 Javascript
关于vue路由缓存清除在main.js中的设置
2019/11/06 Javascript
详解vue或uni-app的跨域问题解决方案
2020/02/21 Javascript
JavaScript逻辑运算符相关总结
2020/09/04 Javascript
Vue父子组件传值的一些坑
2020/09/16 Javascript
[51:15]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-GAMING
2014/05/22 DOTA
python里对list中的整数求平均并排序
2014/09/12 Python
python数组过滤实现方法
2015/07/27 Python
使用Python的Twisted框架构建非阻塞下载程序的实例教程
2016/05/25 Python
利用Python实现在同一网络中的本地文件共享方法
2018/06/04 Python
Python实现的爬虫刷回复功能示例
2018/06/07 Python
Python OpenCV视频截取并保存实现代码
2019/11/30 Python
Django 博客实现简单的全文搜索的示例代码
2020/02/17 Python
matplotlib 三维图表绘制方法简介
2020/09/20 Python
经济学人订阅:The Economist
2018/07/19 全球购物
应聘医药代表职位求职信
2013/10/21 职场文书
人力资源专业推荐信
2013/11/29 职场文书
高中生毕业自我鉴定范文
2013/12/22 职场文书
2014年客户经理工作总结
2014/11/20 职场文书
仓管员岗位职责范本
2015/04/01 职场文书
六一儿童节新闻稿
2015/07/17 职场文书
2016入党心得体会范文
2016/01/06 职场文书
《钢铁是怎样炼成的》高中读后感
2019/08/07 职场文书
个人工作总结(管理人员)范文
2019/08/13 职场文书
Nginx下配置Https证书详细过程
2021/04/01 Servers
Elasticsearch Recovery 详细介绍
2022/04/19 Java/Android