php中用正则验证中文字符串
在js中判断字符串是否是中文字符串很简单,但是到了php中,却不好处理,看到有人写的例子:
//中文ASCII码在0xa1~)xff之间
$str = "好好先生";
$patt_ch = chr(0xa1)."-".chr(0xff);
if(preg_match("/^[$patt_ch]+$/",$str)){
echo '全是中文';
}else{
echo '不全是中文';
}
但是打印的结果却一直是:"不全是中文" ,这种写法肯定有问题。
后来在网上找到另一种方法,经过验证是好使的,拿出来分享一下:
//-----------------------------
$str = "好好先生";
if(preg_match("/^[\x{4e00}-\x{9fa5}]+$/u",$str)){
echo '全是中文';
}else{
echo '不全是中文';
}
浙公网安备 33010602011771号