关于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 相关文章推荐
PHP5新特性: 更加面向对象化的PHP
Nov 18 PHP
Notice: Undefined index: page in E:\PHP\test.php on line 14
Nov 02 PHP
fleaphp常用方法分页之Pager使用方法
Apr 23 PHP
利用curl抓取远程页面内容的示例代码
Jul 23 PHP
php 伪静态之IIS篇
Jun 02 PHP
PHP实现通过中文字符比率来判断垃圾评论的方法
Oct 20 PHP
PHP经典面试题之设计模式(经常遇到)
Oct 15 PHP
深入讲解PHP的Yii框架中的属性(Property)
Mar 18 PHP
php实现等比例不失真缩放上传图片的方法
Nov 14 PHP
Laravel利用gulp如何构建前端资源详解
Jun 03 PHP
基于laravel Request的所有方法详解
Sep 29 PHP
PHP生成图表pChart的示例解析
Jul 31 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中GET变量的使用
2006/10/09 PHP
PHP文章采集URL补全函数(FormatUrl)
2012/08/02 PHP
解析在PHP中使用全局变量的几种方法
2013/06/24 PHP
使用Codeigniter重写insert的方法(推荐)
2017/03/23 PHP
thinkPHP5框架分页样式类完整示例
2018/09/01 PHP
JQuery this 和 $(this) 的区别
2009/08/23 Javascript
一步一步教你写一个jQuery的插件教程(Plugin)
2009/09/03 Javascript
33种Javascript 表格排序控件收集
2009/12/03 Javascript
JavaScript控制各种浏览器全屏模式的方法、属性和事件介绍
2014/04/03 Javascript
JAVA四种基本排序方法实例总结
2015/07/24 Javascript
JS简单去除数组中重复项的方法
2016/09/13 Javascript
jquery中绑定事件的异同
2017/02/28 Javascript
Angular2利用组件与指令实现图片轮播组件
2017/03/27 Javascript
HTML5+JS+JQuery+ECharts实现异步加载问题
2017/12/16 jQuery
vue v-model动态生成详解
2018/06/30 Javascript
全面分析JavaScript 继承
2019/05/30 Javascript
js瀑布流布局的实现
2020/06/28 Javascript
微信小程序实现自定义动画弹框/提示框的方法实例
2020/11/06 Javascript
Django集成百度富文本编辑器uEditor攻略
2014/07/04 Python
Python发送Email方法实例
2014/08/21 Python
python从入门到精通(DAY 2)
2015/12/20 Python
MySQL适配器PyMySQL详解
2017/09/20 Python
Python turtle库的画笔控制说明
2020/06/28 Python
python 利用toapi库自动生成api
2020/10/19 Python
俄罗斯的精英皮具:Wittchen
2018/01/29 全球购物
新加坡最佳婴儿用品店:Mamahood.com.sg
2018/08/26 全球购物
科颜氏法国官网:Kiehl’s法国
2019/08/20 全球购物
英国经济型酒店品牌:Travelodge
2019/12/17 全球购物
我的网上商城创业计划书
2013/12/26 职场文书
cf战队收人口号
2014/06/21 职场文书
离职感谢信怎么写
2015/01/22 职场文书
小数乘法教学反思
2016/02/22 职场文书
应届生们该怎么书写求职信?
2019/07/05 职场文书
2019年“红色之旅”心得体会1000字(3篇)
2019/09/27 职场文书
Python开发工具Pycharm的安装以及使用步骤总结
2021/06/24 Python
Netty分布式客户端处理接入事件handle源码解析
2022/03/25 Java/Android