PHP判断字符串是纯英文、纯汉字或汉英混合

作者:袖梨 2022-11-14

纯英文

代码如下 复制代码

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判断字符串纯汉字 OR 纯英文 OR 汉英混合
* 琼台博客
*/
echo '';
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 '字符串:'.$str.',是'.utf8_str($str).'';
?>

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;
}

相关文章

精彩推荐