php 判断是否是中文/英文/数字示例代码 |
本文标签: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); |