php 判断中文,英文,数字

        $str='asb天水市12';

      if (preg_match("/^[\x7f-\xff]+$/", $str)){
        echo '全部是汉字';
     }else {
            echo '不全是汉字';
     }

       /**
      PHP自带的判断是否是中文,
      eregi('[^\x00-\x7F]', $str ) //中文
       eregi('[0-9]', $str) //数字
      eregi('[a-zA-Z]', $str)//英文
      */
       if (eregi('[^\x00-\x7F]', $str) || eregi('[0-9]', $str) || eregi('[a-zA-Z]', $str)){
            echo '你输入的为中英文数字的并合体哦!'.'<br>';
            echo "长度:".strlen($str);
        }

     

   / **

    下面这两个方法是用来判断是否是英文汉字和数字组成的字符串,

   或者全部是中文组成的字符串  用的变量$str还是本文开头的变量


   */

    if (preg_match_all("/^([\x81-\xfe][\x40-\xfe])+$/", $str, $match)) {
            echo '全部是汉字';    
        } else {
            echo '不全是汉字';
        }
        
    if (preg_match("/([\x81-\xfe][\x40-\xfe])/", $str, $match)) {
            echo '含有汉字';    
        } else {
            echo '不含有汉字';
        }

   /**

   此为js方法,判断了一个汉字占两个字节,一个中文或数字占一个,使用编码为UTF-8

   */

<script>

    var leng = {};

    var  value = document.forms[0].name.value;
    jmz.GetLength = function(str) {
        var realLength = 0, len = str.length, charCode = -1;
        for (var i = 0; i < len; i++) {
            charCode = str.charCodeAt(i);
            if (charCode >= 0 && charCode <= 128) realLength += 1;
            else realLength +=2;
        }
        return realLength;
    };

   alert(leng.GetLength(value))


</script>

 

function checkStr($str){
    $output='';
    $a=ereg('['.chr(0xa1).'-'.chr(0xff).']', $str);
    $b=ereg('[0-9]', $str);
    $c=ereg('[a-zA-Z]', $str);
    if($a && $b && $c){ $output='汉字数字英文的混合字符串';}
    elseif($a && $b && !$c){ $output='汉字数字的混合字符串';}
    elseif($a && !$b && $c){ $output='汉字英文的混合字符串';}
    elseif(!$a && $b && $c){ $output='数字英文的混合字符串';}
    elseif($a && !$b && !$c){ $output='纯汉字';}
    elseif(!$a && $b && !$c){ $output='纯数字';}
    elseif(!$a && !$b && $c){ $output='纯英文';}
    return $output;
}

echo checkStr('5爱u');

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值