多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > php/js漢字正則表達式總結

php/js漢字正則表達式總結

來源:程序員人生   發布時間:2014-05-03 10:34:14 閱讀次數:2813次

如果我們要匹配中文漢字在php與js中只要利用正則/^[x{4e00}-x{9fa5}]+$/u,匹配雙字節字符(包括漢字在內):[^/x00-/xff]即可,具體如下

js版

匹配中文字符的正則表達式: [/u4e00-/u9fa5]

匹配雙字節字符(包括漢字在內):[^/x00-/xff]

實例代碼如下:

  1. var reg =  /^[u4e00-u9fa5]+$/; 
  2. if(reg.test(str)) 
  3.    alert('漢字的干活'); 
  4. 計算字符串的長度(一個雙字節字符長度計2,ASCII字符計1) 
  5. String.prototype.len=function(){return this.replace([^/x00-/xff]/g,"aa").length;} 

php版

php正則匹配漢字!

/^[x{4e00}-x{9fa5}]+$/u

實例代碼如下:

  1. $action = trim($_GET['action']); 
  2. if($action == "sub"
  3.     $str = $_POST['dir'];   
  4.     //if(!preg_match("/^[".chr(0xa1)."-".chr(0xff)."A-Za-z0-9_]+$/",$str)) //GB2312漢字字母數字下劃線正則表達式 
  5.     if(!preg_match("/^[x{4e00}-x{9fa5}A-Za-z0-9_]+$/u",$str))   //UTF-8漢字字母數字下劃線正則表達式 
  6.     {   
  7.         echo "您輸入的[".$str."]含有違法字符";   
  8.     } 
  9.     else 
  10.     { 
  11.         echo "您輸入的[".$str."]完全合法,通過!";   
  12.     } 

當然如果要想字符串全是漢字的GBK2312編碼匹配為:

  1. $str = "小小子"
  2. if(preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/",$str)){ 
  3. print($str."確實全是漢字"); 
  4. else { 
  5. print($str."這個真 TMD不全是漢字"); 
  6. uft8編碼正則 
  7. $str = "漢字"
  8. if (preg_match("/^[x{4e00}-x{9fa5}]+$/u",$str)) { 
  9. print("該字符串全部是中文"); 
  10. else { 
  11. print("該字符串不全部是中文"); 

其實只要了解了各個編碼的高位與低位的開始與結束,那么自然就可以寫出正則,而且直接是十六位的,有啥困難?呵呵。不過要注意,在php里面,表示十六位是用的x。

gbk,gb2312的例子:

  1. <?php 
  2. $action = trim($_GET['action']); 
  3. if($action == "sub"
  4.     $str = $_POST['dir'];     
  5.     //if(!preg_match("/^[".chr(0xa1)."-".chr(0xff)."A-Za-z0-9_]+$/",$str)) //GB2312漢字字母數字下劃線正則表達式  
  6.     if(!preg_match("/^[x{4e00}-x{9fa5}A-Za-z0-9_]+$/u",$str))   //UTF-8漢字字母數字下劃線正則表達式 
  7.     {    
  8.          echo "<font color=red>您輸入的[".$str."]含有違法字符</font>";    
  9.      } 
  10.      else  
  11.      { 
  12.          echo "<font color=green>您輸入的[".$str."]完全合法,通過!</font>";    
  13.      } 
  14. ?> 

+$/u 的意思:

+ 表示重復1次或多次;

$ 表示匹配末尾;

/ 表示定界符;

u 表示模式字符串被當成 UTF-8;

U 表示第一次匹配后即停止搜索。

要匹配2-4 個,用{2,4}表示: /^[x{4e00}-x{9fa5}]{2,4}$/u

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 欧美一级片网 | 国产成人精品一区二区免费视频 | 欧美一本| 精品久久久久久午夜 | 午夜三级三级三点在线 | 国产亚洲欧美日韩综合综合二区 | 日本不卡免费高清一级视频 | 毛片精品 | 天堂色 | 波多野结衣手机视频一区 | 国产精品第一区第27页 | 女人毛片a毛片久久人人 | 欧美日本一区二区三区道 | 狠狠的撞进去嗯啊h女强男视频 | 久草在线视频福利资源站 | 精品一区二区久久久久久久网站 | 国产福利在线免费观看 | 亚洲毛片网| 欧洲美女粗暴交视频 | 国产成人综合久久精品红 | 波多野结衣在线观看网址 | 一级做a爰全过程免费视频毛片 | 欧美日韩三 | 久久久久99这里有精品10 | jizz日本在线播放 | 2018久久久国产精品 | h视频免费高清在线观看 | 日本二区| 午夜精品久久久久久 | 国产精品久久在线观看 | 亚洲精品一区二区观看 | 亚洲日韩aⅴ在线视频 | 国产九色在线 | 欧美一区亚洲 | 77ee成人| 校园春色亚洲激情 | 尤物视频在线观看网站 | 国产香蕉偷在线观看视频 | 午夜美女写真福利写视频 | 欧美极度另类精品 | 亚洲福利二区 |