导航:首页 > 编程语言 > php判断中文还是英文

php判断中文还是英文

发布时间:2022-04-15 12:14:56

A. php用正则表达式判断是否仅是中文汉字和英文字母组成!!!急

$content = 'sdfsdf';
if (preg_match ( "/^[\u4e00-\u9fa5a-zA-Z]+$/", $content, $m )) {

}else{

}

B. 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”这一行存在并且没有被注释掉,否则会出现未定义函 数的问题。

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 如何判断用户输入的是汉字还是英文

if (preg_match('/^[\x{4e00}-\x{9fa5}]+$/u',$str)) {
print("该字符串全部是中文");
} else {
print("该字符串不全部是中文");
}

E. PHP判断数字,汉字和英文

<?
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');
?>

F. PHP 怎么获取一段字符串的长度 并且还要区分中文和英文 无论一个汉字还是一个英文字母都只算一个字符

function strLength($str,$charset='utf-8'){
if($charset=='utf-8') $str = iconv('utf-8','gb2312',$str);
$num = strlen($str);
$cnNum = 0;
for($i=0;$i<$num;$i++){
if(ord(substr($str,$i+1,1))>127){
$cnNum++;
$i++;
}
}
$enNum = $num-($cnNum*2);
$number = ($enNum/2)+$cnNum;
return ceil($number);
}
测试:
$temp='我的我的我的我的1234cedede';
echo(strLength($temp,'gb2312'));

G. php 如何识别文本语言种类,比如输入“你好”,返回“中文”;输入“hello”,返回英文

判断文本语言的种类其实是判断字符集的位置范围,这里提供几款正则给你参考:

<?php
$string='网络知道';
if(preg_match_all("/^([x81-xfe][x40-xfe])+$/"),$string,$match)
//使用preg_match_all判断的是全部是中文
//若使用preg_match则判断的是是否包含中文
//$match是一符合正则要求结果的多维数组
//如果是UTF-8编码的话,则可以将正则替换成/^([u4e00-u9fa5])+$/
{
echo'中文';
}
else
{
echo'不是中文';
}


?>

H. 我用php写的,我想判断表单提交的内容是中文还是英文,要怎么写呢

mb_strlen 无论中英文都算1
strlen 中文算2,英文算1,
接收内容之后mb_strlen($str) == strlen($str) 就是英文
mb_strlen($str) == 2*strlen($str),是中文
否则是混排。

有点投机的做法

I. 请问PHP能判断操作系统使用的语言吗

可以的~
public function getOS(){
$agent = $_SERVER['HTTP_USER_AGENT'];
$os = false;
if (eregi('win', $agent) && strpos($agent, '95'))
$os = 'Windows 95';
else if (eregi('win 9x', $agent) && strpos($agent, '4.90'))
$os = 'Windows ME';
else if (eregi('win', $agent) && ereg('98', $agent))
$os = 'Windows 98';
else if (eregi('win', $agent) && eregi('nt 5.1', $agent))
$os = 'Windows XP';
else if (eregi('win', $agent) && eregi('nt 5', $agent))
$os = 'Windows 2000';
else if (eregi('win', $agent) && eregi('nt 6.1', $agent))
$os = 'Windows 7';
else if (eregi('win', $agent) && eregi('nt 6', $agent))
$os = 'Windows Visita';
else if (eregi('win', $agent) && eregi('nt', $agent))
$os = 'Windows NT';
else if (eregi('win', $agent) && ereg('32', $agent))
$os = 'Windows 32';
else if (eregi('linux', $agent))
$os = 'Linux';
else if (eregi('unix', $agent))
$os = 'Unix';
else if (eregi('sun', $agent) && eregi('os', $agent))
$os = 'SunOS';
else if (eregi('ibm', $agent) && eregi('os', $agent))
$os = 'IBM OS/2';
else if (eregi('Mac', $agent) && eregi('PC', $agent))
$os = 'Macintosh';
else if (eregi('PowerPC', $agent))
$os = 'PowerPC';
else if (eregi('AIX', $agent))
$os = 'AIX';
else if (eregi('HPUX', $agent))
$os = 'HPUX';
else if (eregi('NetBSD', $agent))
$os = 'NetBSD';
else if (eregi('BSD', $agent))
$os = 'BSD';
else if (ereg('OSF1', $agent))
$os = 'OSF1';
else if (ereg('IRIX', $agent))
$os = 'IRIX';
else if (eregi('FreeBSD', $agent))
$os = 'FreeBSD';
else if (eregi('teleport', $agent))
$os = 'teleport';
else if (eregi('flashget', $agent))
$os = 'flashget';
else if (eregi('webzip', $agent))
$os = 'webzip';
else if (eregi('offline', $agent))
$os = 'offline';
else
$os = 'Unknown';

return $os;
}

J. PHP如何校验名字只能是中文/英文/数字

js的 /^[0-9A-Z_a-z\u0391-\uFFE5]*$/.test(输入的值)
php: preg_match("/^[0-9A-Z_a-z\u0391-\uFFE5]*$/", 输入的值)

ps:我好像刚回答了一个同样的问题

阅读全文

与php判断中文还是英文相关的资料

热点内容
看帧率app如何使用 浏览:523
从DHC服务器租用IP地址 浏览:473
编译怎么学 浏览:329
数码管显示0到9plc编程 浏览:665
服务器是为什么服务的 浏览:765
java定义数据类型 浏览:874
安卓pdf手写 浏览:427
什么是app开发者 浏览:284
android闹钟重启 浏览:101
程序员失职 浏览:518
在云服务器怎么改密码 浏览:586
服务器pb什么意思 浏览:940
51驾驶员的是什么app 浏览:670
php静态变量销毁 浏览:888
编程买苹果电脑 浏览:762
flac算法 浏览:499
reactnative与android 浏览:665
程序员是干什么的工作好吗 浏览:258
kbuild编译ko 浏览:471
条件编译的宏 浏览:566