当前位置:首页 > PHP教程 > 正则表达式 > 列表

PHP判断字符串是纯英文、纯汉字或汉英混合

发布:smiling 来源: PHP粉丝网  添加日期:2014-01-17 10:07:55 浏览: 评论:0 

纯英文,代码如下:

  1. if(preg_match("/^[a-z]*$/i",   "fdsFDfd"))  
  2. {  
  3.  echo   "全字母  
  4.  ";  
  5.  } 

纯汉字,代码如下:

  1. var str = "php编程"
  2. if (/^[u4e00-u9fa5]+$/.test(str)) { 
  3. alert("该字符串全部是中文"); 
  4. else
  5. alert("该字符串不全部是中文"); 
  6. } php中,是用x表示十六进制数据的。于是,变换成如下的代码: 
  7. $str = "php编程"
  8. if (preg_match("/^[x4e00-x9fa5]+$/",$str)) { 
  9. print("该字符串全部是中文"); 
  10. else { 
  11. print("该字符串不全部是中文"); 

汉英混合

用户名:包括英文小写、汉字、数字、下划线,不能全部是数字,下划线不能在末尾,代码如下:

  1. /^[a-z0-9_u4e00-u9fa5]+[^_]$/g utf-8下 
  2. preg_match("/^[a-z0-9_x80-xff]+[^_]$/g",$a);gbk下: 
  3. preg_match("/^[a-z0-9_".chr(0xa1)."-".chr(0xff)."]+[^_]$/",$a

utf-8编码,代码如下:

  1. <?php  
  2. /**  
  3.  * PHP判断字符串纯汉字 OR 纯英文 OR 汉英混合  
  4.  * 琼台博客  
  5.  */ 
  6. echo '<meta charset="utf-8" />';  
  7. function utf8_str($str){  
  8.     $mb = mb_strlen($str,'utf-8');  
  9.     $st = strlen($str);  
  10.     if($st==$mb)  
  11.         return '纯英文';  
  12.     if($st%$mb==0 && $st%3==0)  
  13.         return '纯汉字';  
  14.     return '汉英混合';  
  15. }  
  16.    
  17. $str = '琼台博客';  
  18. echo '字符串:<span style="color:red">'.$str.'</span>,是<span style="color:red">'.utf8_str($str).'</span>';  
  19. ?> 

gbk编码,代码如下:

  1. function gbk_str($str){  
  2.     $mb = mb_strlen($str,'gbk');  
  3.     $st = strlen($str);  
  4.     if($st==$mb)  
  5.         return '纯英文';  
  6.     if($st%$mb==0 && $st%2==0)  
  7.         return '纯汉字';  
  8.     return '汉英混合';  

数字中文汉字代码如下:

  1. $username=$_REQUEST['username']; 
  2. if(!preg_match("/^[a-z0-9xa1-xff]{3,10}$/",$username)) 
  3.  { 
  4.   echo"34r345"
  5.   exit
  6.  } 

Tags: 判断 字符串 英文 纯汉字

分享到: