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

<?php

 

/**

 * 【1.测试一】

 * 当$str = '中文测试'; 时输出"全部是汉字";当$str = '中a文3测试'; 时输出"不全是汉字";

 * 应用说明:当某个地方要求用户输入的内容必须全部是中文时,这个就派上用场了。

 */

$str = '中文测试';

if (preg_match_all("/^([\x81-\xfe][\x40-\xfe])+$/", $str, $match)) {

    echo '全部是汉字';

else {

    echo '不全是汉字';

}

 

 

/**

 * [2.测试二]

 * 当$str = '中a文3测试'; 时输出"含有汉字";当$str = 'a345'; 时输出"不含有汉字";

 * 应用说明:当某个地方要求用户输入的内容中必须含有中文时(而不一定全部是中文),这个就派上用场了。

 * 经测试,上述变量$str的内容与utf8还是gbk编码无关,判断结果均是一样的。

 */

$str = '中a文3测试';

if (preg_match("/([\x81-\xfe][\x40-\xfe])/", $str, $match)) {

    echo '含有汉字';

else {

    echo '不含有汉字';

}

 

 

/**

 * 判断全是中文

 */

$str="'324是";

if(!eregi("[^\x80-\xff]","$str")){

    echo "全是中文";

}else{

    echo "不是";

}

 

/**

 * 判断含有中文 (方法1)

 */

$str = "中文";

if (preg_match("/[\x7f-\xff]/", $str)) {

    echo "含有中文";

}else{

    echo "没有中文";

}

/**

 * 判断含有中文 (方法2)

 */

$pattern = '/[^\x00-\x80]/';

if(preg_match($pattern,$str)){

    echo "含有中文";

}else{

    echo "没有中文";

}

 

/**

 * 【php过滤汉字和非汉字】

 */

$sc="aaaaaaaaaaaaaadddd.......##--__i汉子汉字过滤";

//iconv("UTF-8","GB2312",$sc);utf-8转码

echo $temp=eregi_replace("[^\x80-\xff]","",$sc);    //保留汉字(过滤非汉字)

echo $temp=preg_replace("/[\\x80-\\xff]/","",$sc);     //保留非汉字(过滤汉字),注意两条反斜线

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值