在开发过程中,我们常常需要对字符串进行分类处理。以下是一个用于检查字符串类型的函数示例,它能够根据字符串的内容返回不同的类别代码。通过这个函数,我们可以轻松判断字符串是由汉字、数字还是英文字母组成,或者它们的组合形式。
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='1';}
elseif($a && $b && !$c){ $output='2';}
elseif($a && !$b && $c){ $output='3';}
elseif(!$a && $b && $c){ $output='4';}
elseif($a && !$b && !$c){ $output='5';}
elseif(!$a && $b && !$c){ $output='6';}
elseif(!$a && !$b && $c){ $output='7';}
else{ $output = 8;}
return $output;
}
上述代码的功能如下:
1 : 汉字数字英文的混合字符串
2 : 汉字数字的混合字符串
3 : 汉字英文的混合字符串
4 : 数字英文的混合字符串
5 : 纯汉字
6 : 纯数字
7 : 纯英文
8 : 其它
此函数首先定义了一个名为checkStr的函数,该函数接受一个参数$str。接着,初始化$output为空字符串。然后,分别使用ereg函数检查$str中是否包含汉字、数字和英文字母,并将结果存储在变量$a、$b和$c中。
接下来,通过一系列的if-elseif语句来判断字符串的类型:
如果字符串同时包含汉字、数字和英文字母,则$output被赋值为'1'。
如果字符串包含汉字和数字但不包含英文字母,则$output被赋值为'2'。
如果字符串包含汉字和英文字母但不包含数字,则$output被赋值为'3'。
如果字符串包含数字和英文字母但不包含汉字,则$output被赋值为'4'。
如果字符串只包含汉字,则$output被赋值为'5'。
如果字符串只包含数字,则$output被赋值为'6'。
如果字符串只包含英文字母,则$output被赋值为'7'。
如果字符串不属于以上任何一种情况,则$output被赋值为'8'。
最后,函数返回$output的值,表示字符串的类型。这种分类方式可以帮助开发者更好地理解和处理各种类型的字符串数据。