php正则匹配汉字!

188 阅读1分钟

php正则匹配汉字!

/^[\x{4e00}-\x{9fa5}]+$/u

以上这个正则表达式就是困扰了很多php程序员的匹配汉字的正则表达式

大家可能会觉得很简单,实际上不同编码,不同程序语言,都有些细微的出入,稍不注意就得不到正确的结果。

下面是utf-8编码的例子:
$str = "汉字"; if (preg_match("/^[\x{4e00}-\x{9fa5}]+$/u",$str)) { print("该字符串全部是中文"); } else { print("该字符串不全部是中文"); } 

下面的例子包含gbk,gb2312的例子:

`您输入的[".$str."]含有违法字符";         }      else       {          echo "您输入的[".$str."]完全合法,通过!";         } } ?>

输入字符(数字,字母,汉字,下划线):           `

来源:http://blog.csdn.net/lihaiboas1/article/details/7030735