正则判定中文字符

【转载】中文判断问题,其实有很多学问,底层的内部编码,涉及utf-8,gbk,gb13800的各种不同。曾经研究过如何区分一个字符是什么字符的问题。关联细节太多。 今天搞了个php判断中文的代码。希望能对研究中文判断的朋友提供帮助。 <? $str = “中国”; echo $str; echo “<hr>”; //if (preg_match(“/^[“.chr(0xa1).”-“.chr(0xff).”]+$/”, $str)) { //只能在GB2312情况下使用 if (preg_match(“/^[\x7f-\xff]+$/”, $str)) { //兼容gb2312,utf-8     echo “正确输入”; } else {     echo “错误输入”; } ?> 编码表 双字节字符编码范围 1. GBK (GB2312/GB18030) \x00-\xff GBK双字节编码范围 \x20-\x7f ASCII \xa1-\xff 中文 gb2312 \x80-\xff 中文 gbk 2. UTF-8 (Unicode) \u4e00-\u9fa5 (中文) \x3130-\x318F (韩文 \xAC00-\xD7A3 (韩文) \u0800-\u4e00 (日文)

Comments