一聚教程网:一个值得你收藏的教程网站

热门教程

php用正则判断是否为中文例子

时间:2022-06-25 02:38:18 编辑:袖梨 来源:一聚教程网

php用preg_match来匹配并判断一个字符串中是否含有中文或者都是中文的方法如下:

$str = 'php学习博客';
if(preg_match('/[x7f-xff]/', $str)){
  echo '字符串中有中文
';
}else{
  echo '字符串中没有中文
';
}

if(preg_match('/^[x7f-xff]+$/', $str)){
  echo '字符串全是中文';
}else{
  echo '字符串不全是中文';
}

以上程序的输出的结果为:
字符串中有中文
字符串不全是中文

utf-8和gbk编码下都进行了一番测试,均可以使用。

补充:

$str="aaa";
if(!eregi("[^x80-xff]","$str"))
{
echo "是";
}
else
{
echo "不是";
}
?>

";

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


如果想判断一个字符串内是否有含有中文,请用下面的代码:

if (preg_match("/[x7f-xff]/", $string)) {
echo "有中文";
}else{
echo "没有中文";
}
判断中文和编码有关 gbk是双字节,utf8是三字节,可以根据中文的范围来判断  
 
编码范围1. GBK (GB2312/GB18030)  
x00-xff GBK双字节编码范围  
x20-x7f ASCII  
xa1-xff 中文  
x80-xff 中文 
 
2. UTF-8 (Unicode)  
u4e00-u9fa5 (中文)  
x3130-x318F (韩文  
xAC00-xD7A3 (韩文)  
u0800-u4e00 (日文)  
ps: 韩文是大于[u9fa5]的字符  
正则例子:  
preg_replace(”/([x80-xff])/”,”",$str); 
preg_replace(”/([u4e00-u9fa5])/”,”",$str);  

热门栏目