IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    PHP判断字符串中是否含有中文

    二愣子小强发表于 2015-11-18 03:44:20
    love 0

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

    判断字符串中是否含有中文是对付SPAM的方法之一,可以有效的阻止纯英文的垃圾留言,还可以用这个方法规范用户注册。看下面的代码,兼容gb2312和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 "错误输入";
    }
    ?>

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

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



沪ICP备19023445号-2号
友情链接