php判断是否是中文
A. php 判断一个字符是不是中文
第一种 php中文正则匹配 相对简单第二种 strlen 计算字符串长度 (中文长度算3个) mb_strlen 计算字符串长度 (中文长度算1个) 进行比较中文字符串截取(mb_substr)和获取中文字符串字数获取中文长度:mb_strlen()php 判断一个字符是不是中文
B. php怎么识别是不是汉字
将字符串分割成字符,让后将每个字符转换成ascii码
strasc=ord("字符")
if (strasc>=0 && strasc<=255)
{
echo "是汉字"
}
C. php中如何判断中英文字符
PHP判断中英文的依据是字符的ASII值,而字符的ASII值也因编码不同而不同。为了能编写判断中英文字符的php程序,我们必须先来了解下各编码下中文英文字符的ASII值范围:
1.
GBK
(GB2312/GB18030)
x00-xff
GBK双字节编码范围
x20-x7f
ASCII
xa1-xff
中文
gb2312
x80-xff
中文
gbk
2.
UTF-8
(Unicode)
u4e00-u9fa5
(中文)
x3130-x318F
(韩文
xAC00-xD7A3
(韩文)
u0800-u4e00
(日文)
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD
HTML
4.0
Transitional//EN">
<HTML>
<HEAD>
<TITLE>
New
Document
</TITLE>
<META
http-equiv="Content-Type"
content="text/html;
charset=utf-8">
</HEAD>
<BODY>
<?
$str
=
"中文";
echo
$str;
echo
"<hr>";
//if
(preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/",
$str))
{
//只能在GB2312情况下使用
if
(preg_match("/^[x7f-xff]+$/",
$str))
{
//兼容gb2312,utf-8
echo
"正确输入";
}
else
{
echo
"错误输入";
}
?>
</BODY>
</HTML>
D. PHP判断字符串中是否含有中文
一,判断全是中文
$str="'324是";
if(!eregi("[^\x80-\xff]","$str")){
echo "全是中文";
}else{
echo "不是";
}
二,判断含有中文
$str = "中文";
if (preg_match("/[\x7f-\xff]/", $str)) {
echo "含有中文";
}else{
echo "没有中文";
}
或
$pattern = '/[^\x00-\x80]/';
if(preg_match($pattern,$str)){
echo "含有中文";
}else{
echo "没有中文";
}
如果还有问题可以去后盾网论坛问题求助专区,希望我的回答对你有帮助
E. php 如何判断字符是汉字还是英文
常见的就是用strlen()和mb_strlen()函数
strlen($str); 中文utf8占3个字符
mb_strlen($str,'utf8'); 中文utf8占1个字符
可以根据strlen()和mb_strlen()返回结果,两者比较判断是汉字、英文还是中英混合
strlen() 等于 mb_strlen() 全英
strlen() 对 mb_strlen() 取余为0 全汉
需要注意的是,mb_strlen并不是PHP核心函数,使用前需要确保在php.ini中加载了php_mbstring.dll,即确保“extension=php_mbstring.dll”这一行存在并且没有被注释掉,否则会出现未定义函 数的问题。
F. PHP判断是中文还是英文
/*
判断输入是否是纯数字,英文,汉字等
利用php的mb_strlen和strlen函数就可以轻松得知字符串的构成是全英文、中英混合、全中文。
1: 如果strlen返回的字符长度和mb_strlen以当前编码计算的长度一致,则为纯英文字符串
2: 如果strlen返回的字符长度和mb_strlen以当前编码计算的长度不一致,并且strlen返回值和mb_strlen返回值求余后得0 则为全汉字
3: 如果strlen返回的字符长度和mb_strlen以当前编码计算的长度不一致,并且strlen返回值和mb_strlen返回值求余后不为0 则为中英混合
*/
<?php
$str = "123456abc汉字";
$x = mb_strlen($str, 'gb2312');
$y = strlen($str);
echo "-----------$str----------<br>";
echo "x: ".$x."<br>";
echo "y: ".$y."<br>";
?>
G. php如何判断一个字符是中文还是英文
functionischinese($s){
$allen=preg_match("/^[^/x80-/xff]+$/",$s);//判断是否是英文
$allcn=preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/",$s);//判断是否是中文
if($allen){
return'英文';
}else{
if($allcn){
return'中文';
}else{
return'中英混合';
}
}
}
H. php正则判断字符串是否含有中文
functionchk_cn($str){
if(preg_match('|[x{4e00}-x{9fa5}]+?|u',$str)){
returntrue;
}
returnfalse;
}
调用这个 函数,返回true则是含有中文,false则无中文。
另外,x{4e00}-x{9fa5} 这个范围我也不太确定是不是包含所有的中文范围,没有认真研究它的取值范围。