>백엔드 개발 >PHP 문제 >PHP에서 문자열이 중국어인지 숫자인지 확인하는 방법

PHP에서 문자열이 중국어인지 숫자인지 확인하는 방법

藏色散人
藏色散人원래의
2023-01-29 09:32:093922검색

PHP에서 문자열이 중국어인지 숫자인지 확인하는 방법: 1. "if (preg_match("/^[x7f-xff]+$/", $str)){...}"를 사용하여 문자열인지 확인합니다. 2. 문자열 유형을 결정하려면 "function checkStr($str){...}" 메서드를 사용하세요.

PHP에서 문자열이 중국어인지 숫자인지 확인하는 방법

이 튜토리얼의 운영 환경: Windows 10 시스템, PHP 버전 8.1, DELL G3 컴퓨터

php는 문자열이 중국어인지 숫자인지 어떻게 결정합니까?

php에서 중국어/영어/숫자 샘플코드인지 판별합니다

한자, 영어, 숫자로 판단하는 것도 프로젝트에서 자주 사용되는데요, 아래에 좋은 예가 있으니 참고하시면 될 것 같습니다. 도움이 되세요 help

코드는 다음과 같습니다:

$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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.