关于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扩展图文教程
Dec 12 PHP
PHP为表单获取的URL 地址预设 http 字符串函数代码
May 26 PHP
php 安全过滤函数代码
May 07 PHP
PHP编程函数安全篇
Jan 08 PHP
php调用google接口生成二维码示例
Apr 28 PHP
php内嵌函数用法实例
Mar 20 PHP
Codeigniter的dom类用法实例
Jun 26 PHP
Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
Mar 29 PHP
PHP+MySql+jQuery实现的&quot;顶&quot;和&quot;踩&quot;投票功能
May 21 PHP
PHP超低内存遍历目录文件和读取超大文件的方法
May 01 PHP
php 多个变量指向同一个引用($b = &amp;$a)用法分析
Nov 13 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
Dec 20 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脚本的10个技巧(4)
2006/10/09 PHP
thinkPHP显示不出验证码的原因与解决方法分析
2017/05/20 PHP
PHP实现的最大正向匹配算法示例
2017/12/19 PHP
微信公众平台开发教程①获取用户Openid及个人信息图文详解
2019/04/10 PHP
对象的类型:本地对象(1)
2006/12/29 Javascript
javascript实现原生ajax的几种方法介绍
2013/09/21 Javascript
在页面加载完成后通过jquery给多个span赋值
2014/05/21 Javascript
多个$(document).ready()的执行顺序实例分析
2014/07/26 Javascript
Bootstrap每天必学之标签与徽章
2015/11/27 Javascript
javascript html5实现表单验证
2016/03/01 Javascript
js实现点击每个li节点,都弹出其文本值及修改
2016/12/15 Javascript
详解AngularJS1.6版本中ui-router路由中/#!/的解决方法
2017/05/22 Javascript
Vue.js中数据绑定的语法教程
2017/06/02 Javascript
jQuery Layer弹出层传值到父页面的实现代码
2017/08/17 jQuery
浅谈关于iview表单验证的问题
2018/09/29 Javascript
nodejs中内置模块fs,path常见的用法说明
2020/11/07 NodeJs
原生js实现移动小球(碰撞检测)
2020/12/17 Javascript
在vue项目中封装echarts的步骤
2020/12/25 Vue.js
[36:13]Mineski vs iG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[01:32]TI珍贵瞬间系列(一)
2020/08/26 DOTA
Python实现把utf-8格式的文件转换成gbk格式的文件
2015/01/22 Python
在Python中操作文件之truncate()方法的使用教程
2015/05/25 Python
Linux下python3.6.1环境配置教程
2018/09/26 Python
pytorch进行上采样的种类实例
2020/02/18 Python
windows下Pycharm安装opencv的多种方法
2020/03/05 Python
解决PyCharm无法使用lxml库的问题(图解)
2020/12/22 Python
施华洛世奇意大利官网:SWAROVSKI意大利
2018/07/23 全球购物
Erwin Müller穆勒家居瑞士官网:您整个家庭的邮购公司
2019/12/28 全球购物
分公司负责人任命书
2014/06/04 职场文书
幼儿园大班见习报告
2014/10/31 职场文书
死亡赔偿协议书
2015/01/28 职场文书
清洁工个人工作总结
2015/03/05 职场文书
2015年小学校长工作总结
2015/05/19 职场文书
2015秋季开学典礼演讲稿
2015/07/16 职场文书
导游词之蜀山胜景瓦屋山
2019/11/29 职场文书
处理canvas绘制图片模糊问题
2022/05/11 Javascript