首页 / 网页编程 / 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");