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 '你輸入的為中英文數位併合體哦!'.'
';
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
*/
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');