ホームページ >バックエンド開発 >PHPの問題 >PHPで文字列が中国語か数値かを判断する方法

PHPで文字列が中国語か数値かを判断する方法

藏色散人
藏色散人オリジナル
2023-01-29 09:32:093920ブラウズ

文字列が中国語か数値かを判断する

php メソッド: 1. "if (preg_match("/^[\x7f-\xff] $/", $str)){...} で判断します。 " 中国語かどうか; 2. "function checkStr($str){...}" メソッドを使用して文字列の種類を決定します。

PHPで文字列が中国語か数値かを判断する方法

このチュートリアルの動作環境: 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 &#39;你输入的为中英文数字的并合体哦!&#39;.&#39;<br>&#39;;
echo "长度:".strlen($str);
}
/ **
下面这两个方法是用来判断是否是英文汉字和数字组成的字符串,
或者全部是中文组成的字符串 用的变量$str还是本文开头的变量
*/
if (preg_match_all("/^([\x81-\xfe][\x40-\xfe])+$/", $str, $match)) {
echo &#39;全部是汉字&#39;;
} else {
echo &#39;不全是汉字&#39;;
}
if (preg_match("/([\x81-\xfe][\x40-\xfe])/", $str, $match)) {
echo &#39;含有汉字&#39;;
} else {
echo &#39;不含有汉字&#39;;
}
/**
此为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=&#39;&#39;;
$a=ereg(&#39;[&#39;.chr(0xa1).&#39;-&#39;.chr(0xff).&#39;]&#39;, $str);
$b=ereg(&#39;[0-9]&#39;, $str);
$c=ereg(&#39;[a-zA-Z]&#39;, $str);
if($a && $b && $c){ $output=&#39;汉字数字英文的混合字符串&#39;;}
elseif($a && $b && !$c){ $output=&#39;汉字数字的混合字符串&#39;;}
elseif($a && !$b && $c){ $output=&#39;汉字英文的混合字符串&#39;;}
elseif(!$a && $b && $c){ $output=&#39;数字英文的混合字符串&#39;;}
elseif($a && !$b && !$c){ $output=&#39;纯汉字&#39;;}
elseif(!$a && $b && !$c){ $output=&#39;纯数字&#39;;}
elseif(!$a && !$b && $c){ $output=&#39;纯英文&#39;;}
return $output;
}
echo checkStr(&#39;5爱u&#39;);

推奨学習: "PHP ビデオ チュートリアル "

以上がPHPで文字列が中国語か数値かを判断する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。