Jquery中文網 www.4271936.live
Jquery中文網 >  腳本編程  >  php  >  正文 php判斷字符串是純英文、純漢字或漢英混合格式

php判斷字符串是純英文、純漢字或漢英混合格式

發布時間:2015-08-10   編輯:www.4271936.live
PHP判斷字符串是否為中文、英文或漢英混合的方法,除了正則表達式或拆分字符判斷字符的值是否小于128外,還有一種比較特別的方法。

PHP判斷字符串是否為中文、英文或漢英混合的方法,除了正則表達式或拆分字符判斷字符的值是否小于128外,還有一種比較特別的方法。
即,使用php中的mb_strlen和strlen函數判斷。

方法很簡單:
分別使用以上兩個函數以當前編碼測出字符的返回值,然后比較返回值。
返回值相等的為純英文、純數字、英數混排;
返回值不等,且strlen返回值可被mb_strlen整除的為純漢字
返回值不等,且strlen返回值不可被mb_strlen整除的為英漢或數漢混排
 

復制代碼 代碼如下:
<?php   
    $strarray[1] = "hello"; 
    $strarray[2] = "123456"; 
    $strarray[3] = "123hello";  
    $strarray[4] = "jquery中文網"; 
    $strarray[5] = "123jquery中文網"; 
    $strarray[6] = "hellojquery中文網"; 
    $strarray[7] = "123hellojquery中文網";  
     
    foreach ($strarray as $key->$value)  
    {  
        $x = mb_strlen($value,'gb2312');  
        $y = strlen($value);  
     
        echo $strarray[$key].'  <span style="color: #ff0000;">'.$x.'</span> <span style="color:#ff0000;">'.$y.'</span>';  
    }  
     
?> 

 
運行結果:
hello 5 5
123456 6 6
123hello 8 8
jquery中文網 2 4
123jquery中文網 5 7
hellojquery中文網 7 9
123hellojquery中文網 10 12

php沒有直接函數來判斷一個字符串是否是純英文或純漢字以及漢英混合,只能自己寫函數。要想實現此功能就必需對字符集漢字編碼占位進行了解,就目前國內比較常用的字符集當屬UTF8與GBK了。
UTF8每個漢字等于3個長度;
GBK每個漢字等于2個長度;

利用以上漢字與英文的差異,我們就可以利用mb_strlen函數與strlen函數分別計算出兩組長度數字,然后根據規律進行運算即可判斷出字符串的類型了。

UTF-8實例
 

復制代碼 代碼如下:
<?php 
    /**
     * PHP判斷字符串純漢字 OR 純英文 OR 漢英混合
     */ 
    echo '<meta charset="utf-8" />'; 
    function utf8_str($str){ 
        $mb = mb_strlen($str,'utf-8'); 
        $st = strlen($str); 
        if($st==$mb) 
            return '純英文'; 
        if($st%$mb==0 && $st%3==0) 
            return '純漢字'; 
        return '漢英混合'; 
    } 
      
    $str = '博客'; 
    echo '字符串:<span style="color:red">'.$str.'</span>,是<span style="color:red">'.utf8_str($str).'</span>'; 
?>

 

GBK方法
 

復制代碼 代碼如下:
<?php
function gbk_str($str){ 
        $mb = mb_strlen($str,'gbk'); 
        $st = strlen($str); 
        if($st==$mb) 
            return '純英文'; 
        if($st%$mb==0 && $st%2==0) 
            return '純漢字'; 
        return '漢英混合'; 
    }
?>

您可能感興趣的文章:
php判斷字符串是純英文、純漢字或漢英混合格式
Javascript取得中英文混合字符串的長度的方法
js判斷中英文與數字字符長度
php中英文混排字符串截取方法
php中文字符串截取 php截取中文字符串的代碼
批處理if語句的四種用法詳解
超級好用的php文件上傳類(上傳、縮略圖、水印)
一個好用的字符串截取函數(漢字一個算兩個字符,英文算一個字符)
一些常用的正則表達式
php生成指定長度的密碼的代碼(圖文)

關鍵詞: 字符串格式   
[關閉]
微信下载APP完成任务如何赚钱 贵州快3跨度走势图基本 pk10软件专业版 江苏快三开奖结果 茅台股票行情 一分彩平台app 上海快3基本走势图一定牛 股票行情实时查询000831 福建体彩22选5开奘结果 黑龙江十一选五开奖结果定牛 吉林快三当前遗漏数据