下面是我收藏的一些PHP判斷字符串是純英文、純漢字或漢英混合 實例,大家可參考。
純英文
代碼如下 復制代碼if(preg_match("/^[a-z]*$/i", "fdsFDfd"))
{
echo "全字母
";
}
純漢字
代碼如下 復制代碼比如:
var str = "php編程";
if (/^[u4e00-u9fa5]+$/.test(str)) {
alert("該字符串全部是中文");
}
else{
alert("該字符串不全部是中文");
} php中,是用x表示十六進制數據的。於是,變換成如下的代碼:
$str = "php編程";
if (preg_match("/^[x4e00-x9fa5]+$/",$str)) {
print("該字符串全部是中文");
} else {
print("該字符串不全部是中文");
}
漢英混合
用戶名:包括英文小寫、漢字、數字、下劃線,不能全部是數字,下劃線不能在末尾
/^[a-z0-9_u4e00-u9fa5]+[^_]$/g utf-8下
preg_match("/^[a-z0-9_x80-xff]+[^_]$/g",$a);gbk下:
preg_match("/^[a-z0-9_".chr(0xa1)."-".chr(0xff)."]+[^_]$/",$a)
utf-8編碼
<?php
/**
* PHP判斷字符串純漢字 OR 純英文 OR 漢英混合
* 瓊台博客
*/
echo '<meta charset="utf-8" />';
function utf8_str($str){
$mb = mb_strlen($str,'utf-8');
$st = strlen($str);
if($st==$mb)
return '純英文';
if($st%$mb==0 && $st%3==0)
return '純漢字';
return '漢英混合';
}
$str = '瓊台博客';
echo '字符串:<span style="color:red">'.$str.'</span>,是<span style="color:red">'.utf8_str($str).'</span>';
?>
gbk編碼
代碼如下 復制代碼function gbk_str($str){
$mb = mb_strlen($str,'gbk');
$st = strlen($str);
if($st==$mb)
return '純英文';
if($st%$mb==0 && $st%2==0)
return '純漢字';
return '漢英混合';
}
數字中文漢字
代碼如下 復制代碼$username=$_REQUEST['username'];
if(!preg_match("/^[a-z0-9xa1-xff]{3,10}$/",$username))
{
echo"34r345";
exit;
}