php检查字符串中是否有汉字/数字/英文字母

在进行文字模式匹配时,这个功能应该是比较需要的。

网上相关的信息并不多,而且很多并不能真的解决问题。下面的代码应该是有效的。

<?php
function checkStr($str)
{
$output='';
$a=preg_match('/['.chr(0xa1).'-'.chr(0xff).']/', $str);
$b=preg_match('/[0-9]/', $str);
$c=preg_match('/[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:12');

?>

标签: php

相关文章推荐

添加新评论 (无需注册,可直接评论)