php 判断中英文字符

作者:袖梨 2022-06-24

编码表

双字节字符编码范围

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 (日文)

$str = "中国";
echo $str;
echo "
";

//if (preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/", $str)) { //只能在gb2312情况下使用 
if (preg_match("/^[x7f-xff]+$/", $str)) { //兼容gb2312,utf-8
    echo "正确输入";
} else {
    echo "错误输入";
}
?>

中文判断问题,其实有很多学问,底层的内部编码,涉及utf-8,gbk,gb13800的各种不同。曾经研究过如何区分一个字符是什么字符的问题。关联细节太多。

相关文章

精彩推荐