这篇文章主要讲解了“php如何判断字符串是中文还是数字”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何判断字符串是中文还是数字”吧!
创新互联公司主要从事网站设计、成都网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务安国,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108
php判断字符串是中文还是数字的方法:1、通过“if (preg_match("/^[\x7f-\xff]+$/", $str)){...}”判断是否是中文;2、通过“function checkStr($str){...}”方法判断字符串类型即可。
php 判断是否是中文/英文/数字示例代码
中文、英文、数字的判断在项目中也会经常用到,下面有个不错的示例,大家可以参考下,或许会有所帮助
代码如下:
$str='asb天水市12';
if (preg_match("/^[\x7f-\xff]+$/", $str)){
echo '全部是汉字';
}else {
echo '不全是汉字';
}
/**
PHP自带的判断是否是中文,
eregi('[^\x00-\x7F]', $str ) //中文
eregi('[0-9]', $str) //数字
eregi('[a-zA-Z]', $str)//英文
*/
if (eregi('[^\x00-\x7F]', $str) || eregi('[0-9]', $str) || eregi('[a-zA-Z]', $str)){
echo '你输入的为中英文数字的并合体哦!'.'
';
echo "长度:".strlen($str);
}
/ **
下面这两个方法是用来判断是否是英文汉字和数字组成的字符串,
或者全部是中文组成的字符串 用的变量$str还是本文开头的变量
*/
if (preg_match_all("/^([\x81-\xfe][\x40-\xfe])+$/", $str, $match)) {
echo '全部是汉字';
} else {
echo '不全是汉字';
}
if (preg_match("/([\x81-\xfe][\x40-\xfe])/", $str, $match)) {
echo '含有汉字';
} else {
echo '不含有汉字';
}
/**
此为js方法,判断了一个汉字占两个字节,一个中文或数字占一个,使用编码为UTF-8
*/
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='汉字数字英文的混合字符串';}
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爱u');
感谢各位的阅读,以上就是“php如何判断字符串是中文还是数字”的内容了,经过本文的学习后,相信大家对php如何判断字符串是中文还是数字这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!