php判斷是否是英文
『壹』 php檢查字元串中是否有漢字/數字/英文字母
只能用正則
<?
$str = "測試中文";
echo $str;
echo "<hr>";
//if (preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/", $str)) { //只能在GB2312情況下使用
//if (preg_match("/^[\x7f-\xff]+$/", $str)) { //兼容gb2312,utf-8 //判斷字元串是否全是中文
if (preg_match("/[\x7f-\xff]/", $str)) { //判斷字元串中是否有中文
echo "有中文";
} else {
echo "沒中文";
}
if (preg_match("/\d/", $str)) { //判斷字元串中是否有數字
echo "有數字";
} else {
echo "沒數字";
}
if (preg_match("/\w/", $str)) { //判斷字元串中是否有英文
echo "有英文";
} else {
echo "沒英文";
}
?>
『貳』 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>
『叄』 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');
?>
『肆』 php如何判斷大小寫字母,數字,ASCII符號
header('Content-Type:text/html;charset=utf-8');
$subject='fgGGGsdfgs';
if(preg_match('@^d+$@',$subject)){
echo'數字';
}elseif(preg_match('@^w+$@',$subject)){
echo'英文';
}else{
echo'混合';
}
上面代碼是用正則來判斷的
『伍』 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'不是中文';
}
?>
『陸』 php 判斷 用戶名 英文或者數字
用正則來判斷,如檢查是否數字的代碼: 1 2 if(preg_match("/^\d*$/",$fgid)) echo('是數字'); else echo('不是數字'); 驗證由26個英文字母組成的字元串:^[A-Za-z]+$ 驗證由26個大寫英文字母組成的字元串:^[A-Z]+$ 驗證由數字和26個英文字母組成的字元串:^[A-Za-z0-9]+$
『柒』 我用php寫的,我想判斷表單提交的內容是中文還是英文,要怎麼寫呢
mb_strlen 無論中英文都算1
strlen 中文算2,英文算1,
接收內容之後mb_strlen($str) == strlen($str) 就是英文
mb_strlen($str) == 2*strlen($str),是中文
否則是混排。
有點投機的做法
『捌』 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」這一行存在並且沒有被注釋掉,否則會出現未定義函 數的問題。
『玖』 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'中英混合';
}
}
}