php正则匹配汉字!
2011-12-01 14:01
253 查看
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中utf-8编码下用正则表达式如何匹配汉字
- PHP正则匹配汉字(UTF-8和GBK两种编码)
- php中utf-8编码下用正则表达式如何匹配汉字
- php中utf-8编码下用正则表达式如何匹配汉字
- php正则匹配汉字!
- php 正则表达式 将形如 "天," ,"安", "门" 转化为"天、安、门", (仅匹配汉字)
- PHP,JS汉字正则匹配
- php中utf-8编码下用正则表达式如何匹配汉字
- php正则匹配汉字!
- PHP正则匹配汉字
- 关于php正则匹配汉字的方法介绍
- php正则匹配中文、汉字
- php正则表达式匹配汉字
- PHP正则匹配汉字字符/中文字符
- php中utf-8编码和GB2312编码下用正则表达式匹配汉字
- php中utf-8编码下用正则表达式匹配汉字的最终正确表达式——/[\x{4e00}-\x{9fa5}]/u
- php中utf-8编码下用正则表达式匹配汉字的最终正确表达式——/^[x{4e00}-x{9fa5}]+$/u
- PHP与javascript中正则匹配汉字方法