Comment déterminer si une chaîne est chinoise ou numérique en PHP : 1. Utilisez "if (preg_match("/^[x7f-xff]+$/", $str)){...}" pour déterminer si elle est chinois ; 2. , utilisez simplement la méthode "function checkStr($str){...}" pour déterminer le type de chaîne.
L'environnement d'exploitation de ce tutoriel : système Windows 10, PHP version 8.1, ordinateur DELL G3
Comment php détermine-t-il si une chaîne est du chinois ou un nombre ?
php détermine s'il s'agit d'un exemple de code chinois/anglais/numérique
Le jugement du chinois, de l'anglais et du numérique est également souvent utilisé dans les projets. Il y a un bon exemple ci-dessous, vous pouvez vous y référer, il peut. soyez utile Le code d'aide
est le suivant :
$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 '你输入的为中英文数字的并合体哦!'.'<br>'; 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 */ <script> var leng = {}; var value = document.forms[0].name.value; jmz.GetLength = function(str) { var realLength = 0, len = str.length, charCode = -1; for (var i = 0; i < len; i++) { charCode = str.charCodeAt(i); if (charCode >= 0 && charCode <= 128) realLength += 1; else realLength +=2; } return realLength; }; alert(leng.GetLength(value)) </script> 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');
Apprentissage recommandé : "Tutoriel vidéo PHP"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!