您的当前位置:首页正文

php判断一个字符是否是汉字

2020-11-27 来源:意榕旅游网

这需要用到正则 (推荐学习:PHP视频教程)

preg_match('/[\x{4e00}-\x{9fa5}]/u', $str) //UTF-8

这个可以匹配字符串中是否有中文,没有的话返回0

<?
$str = "测试中文";
echo $str;
echo "<hr>";
//if (preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/", $str)) { //只能在GB2312情况下使用
//if (preg_match("/^[\x7f-\xff]+$/", $str)) { //兼容gb2312,utf-8 //判断字符串是否全是中文
if (preg_match("/[\x7f-\xff]/", $str)) { //判断字符串中是否有中文
echo "正确输入";
} else {
echo "错误输入";
}
?>

另附,双字节字符编码范围

GBK (GB2312/GB18030)

\x00-\xff GBK双字节编码范围

\x20-\x7f ASCII

\xa1-\xff 中文 gb2312

\x80-\xff 中文 gbk

UTF-8 (Unicode)

\u4e00-\u9fa5 (中文)

\x3130-\x318F (韩文

\xAC00-\xD7A3 (韩文)

\u0800-\u4e00 (日文)*/

显示全文