PHP怎么判断字符串含不含中文

在php中,可以使用preg_match()函数配合正则表达式来判断字符串里含不含中文,语法格式“preg_match(“/[\x7f-\xff]/”, 字符串)”;如果返回1则含有中文,如果返回0则不含中文。

 

PHP怎么判断字符串含不含中文插图

 

自从有了黑帽SEO,对付SPAM(垃圾留言)一直是网站工作人员的工作内容之一。迫害我们的不是垃圾留言群发机,就是垃圾用户注册机。

判断字符串中是否含有中文是对付SPAM的方法之一,可以有效的阻止纯英文的垃圾留言,还可以用这个方法规范用户注册。看下面的代码,兼容gb2312和utf-8。

<?php
header('content-type:text/html;charset=utf-8');
$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 "不含中文,错误输入";
}
?>

输出:

 

PHP怎么判断字符串含不含中文插图(1)

 

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

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

 

1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!
2.本站部分资源包有加密,加密统一密码为:www.51zhanma.cn
3. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
4. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
5. 如果您也有好的资源或教程,您可以投稿发布,用户购买后有销售金额的80%以上的分成收入!
6.如有侵权请联系客服邮件kefu@zhanma.cn
站码网 » PHP怎么判断字符串含不含中文

发表评论

  • 1810本站运营(天)
  • 1949会员数(个)
  • 5310资源数(个)
  • 1287评论数(个)
  • 0 近 30 天更新(个)
加入 VIP