Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menentukan sama ada rentetan adalah bahasa Cina atau angka dalam php

Bagaimana untuk menentukan sama ada rentetan adalah bahasa Cina atau angka dalam php

藏色散人
藏色散人asal
2023-01-29 09:32:093865semak imbas

Cara menentukan sama ada rentetan adalah bahasa Cina atau angka dalam PHP: 1. Gunakan "if (preg_match("/^[x7f-xff]+$/", $str)){...}" untuk menentukan sama ada Ia adalah bahasa Cina; 2. Gunakan kaedah "function checkStr($str){...}" untuk menentukan jenis rentetan.

Bagaimana untuk menentukan sama ada rentetan adalah bahasa Cina atau angka dalam php

Persekitaran pengendalian tutorial ini: sistem Windows 10, PHP versi 8.1, komputer DELL G3

Bagaimana untuk menentukan sama ada rentetan adalah bahasa Cina dalam PHP Atau nombor?

php Tentukan sama ada ia adalah kod sampel Cina/Inggeris/numerik

Pertimbangan bahasa Cina, Inggeris dan angka juga sering digunakan dalam projek, seperti mengikuti Contoh yang baik, anda boleh merujuknya, mungkin berguna

Kodnya adalah seperti berikut:

$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;);

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Bagaimana untuk menentukan sama ada rentetan adalah bahasa Cina atau angka dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn