关于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 相关文章推荐
Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安装配置方法
May 03 PHP
追求程序速度,而不是编程的速度
Apr 23 PHP
php 字符串替换的方法
Jan 10 PHP
php class中public,private,protected的区别以及实例分析
Jun 18 PHP
php在数组中查找指定值的方法
Mar 17 PHP
深入理解PHP中的empty和isset函数
May 26 PHP
Thinkphp微信公众号支付接口
Aug 04 PHP
PHP实现批量检测网站是否能够正常打开的方法
Aug 23 PHP
PHP实现的redis主从数据库状态检测功能示例
Jul 20 PHP
PHP中创建和编辑Excel表格的方法
Sep 13 PHP
PHP进阶学习之反射基本概念与用法分析
Jun 18 PHP
Laravel的加密解密与哈希实例讲解
Mar 24 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列出一个目录下的所有文件的代码
2012/10/09 PHP
php根据数据id自动生成编号的实现方法
2016/10/16 PHP
Yii2单元测试用法示例
2016/11/12 PHP
php实现的读取CSV文件函数示例
2017/02/07 PHP
详解将数据从Laravel传送到vue的四种方式
2019/10/16 PHP
基于jQuery的淡入淡出可自动切换的幻灯插件打包下载
2010/09/15 Javascript
自己做的模拟模态对话框实现代码
2012/05/23 Javascript
html中的input标签的checked属性jquery判断代码
2012/09/19 Javascript
js实现收缩菜单效果实例代码
2013/10/30 Javascript
jQuery插件Skippr实现焦点图幻灯片特效
2015/04/12 Javascript
JQuery select(下拉框)操作方法汇总
2015/04/15 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之绑定事件
2015/11/19 Javascript
JS使用正则截取两个字符串之间的字符串实现方法详解
2017/01/06 Javascript
Vuejs实现带样式的单文件组件新方法
2017/05/02 Javascript
JS实现利用两个队列表示一个栈的方法
2017/12/13 Javascript
vue.js 2.*项目环境搭建、运行、打包发布的详细步骤
2019/05/01 Javascript
微信小程序中button去除默认的边框实例代码
2019/08/01 Javascript
简述Vue中容易被忽视的知识点
2019/12/09 Javascript
基于Vue实现微前端的示例代码
2020/04/24 Javascript
Python实现从脚本里运行scrapy的方法
2015/04/07 Python
Python之Web框架Django项目搭建全过程
2017/05/02 Python
利用python对Excel中的特定数据提取并写入新表的方法
2018/06/14 Python
Python实现定制自动化业务流量报表周报功能【XlsxWriter模块】
2019/03/11 Python
在python3中使用shuffle函数要注意的地方
2020/02/28 Python
Python3.7安装PyQt5 运行配置Pycharm的详细教程
2020/10/15 Python
Python存储读取HDF5文件代码解析
2020/11/25 Python
Kneipp克奈圃美国官网:德国百年精油配方的传承
2018/02/07 全球购物
Zooplus葡萄牙:欧洲领先的网上宠物商店
2018/07/01 全球购物
LN-CC美国:伦敦时尚生活的缩影
2019/02/19 全球购物
Kappa英国官方在线商店:服装和运动器材
2020/11/22 全球购物
解决python 输出到csv 出现多空行的情况
2021/03/24 Python
物业客服专员岗位职责
2013/11/30 职场文书
应用化学专业职业生涯规划书
2014/01/22 职场文书
有创意的广告词
2014/03/18 职场文书
学生旷课检讨书500字
2014/10/28 职场文书
2019奶茶店创业计划书范本,值得你借鉴
2019/08/14 职场文书