php基本汉字的unicode编码匹配在[x{4e00}-x{9fa5}]范围,如果要加上一些生僻字,补充汉字,扩展汉字就需要增加匹配的范围。unicode汉字编码范围参考。
php正则匹配代码:
//自动转UTF-8编码 $str = "鿊"; $encode = mb_detect_encoding($str , array("ASCII",'UTF-8',"GB2312","GBK",'BIG5','LATIN1')); if($encode != 'UTF-8'){ $str = mb_convert_encoding($str , 'UTF-8', $encode); } $res = preg_match("/^([x{4e00}-x{9fa5}]|[x{9fa6}-x{9fef}]|[x{3400}-x{4db5}]|[x{20000}-x{2ebe0}]){2,15}$/u", $str ); if (!$res) { echo "不是中文汉字"; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)