php验证纯汉字,PHP 判断字符串是否为全英文,英汉混合,纯汉字方法

PHP 判断字符串是否为全英文,英汉混合,纯汉字方法

方法一:

function is_chinese($s){

$allen = preg_match("/^[^\x80-\xff]+$/", $s); //判断是否是英文

$allcn = preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/",$s); //是否是中文

if($allen){

return 'allen';

}else{

if($allcn){

return 'allcn';

}else{

return 'encn';

}

}

}

方法二:

利用Php的mb_strlen和strlen函数就可以轻松得知字符串的构成是全英文、英汉混合、还是纯汉字。简要说明如下(以上示例程序)

1、如果strlen返回的字符长度和mb_strlen以当前编码计算的长度一致,可以判断是纯英文字符串。

2、如果strlen返回的字符长度和mb_strlen以当前编码计算的长度不一致,且strlen返回值同mb_strlen的返回值求余后得0可以判断为是全汉字的字符串。

3、如果strlen返回的字符长度和mb_strlen以当前编码计算的长度不一致,且strlen返回值同mb_strlen的返回值求余后不为0,可以判断为是英汉混合的字符串。

function Check_stringType($str1) {

$strA = trim($str1);

$lenA = strlen($strA);

$lenB = mb_strlen($strA, "utf-8");

if ($lenA === $lenB) {

return "1"; //全英文

} else {

if ($lenA % $lenB == 0) {

return "2"; //全中文

} else {

return "3"; //中英混合

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值