文字列が中国語か数値かを判断する
php メソッド: 1. "if (preg_match("/^[\x7f-\xff] $/", $str)){...} で判断します。 " 中国語かどうか; 2. "function checkStr($str){...}" メソッドを使用して文字列の種類を決定します。
このチュートリアルの動作環境: Windows 10 システム、PHP バージョン 8.1、DELL G3 コンピューター
PHPでは文字列は中国語ですか、それとも数字ですか?
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 '你输入的为中英文数字的并合体哦!'.'<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');
推奨学習: "PHP ビデオ チュートリアル "
以上がPHPで文字列が中国語か数値かを判断する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。