關于php正則匹配漢字的方法介紹_PHP教程

      編輯Tag賺U幣

      推薦:使用php+apc實現上傳進度條且在IE7下不顯示的問題解決方法
      本篇文章介紹了,使用php+apc實現上傳進度條且在IE7下不顯示的問題解決方法。需要的朋友參考下

      php正則匹配漢字!

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

      以上這個正則表達式就是困擾了很多php程序員的匹配漢字的正則表達式

      大家可能會覺得很簡單,實際上不同編碼,不同程序語言,都有些細微的出入,稍不注意就得不到正確的結果。

      下面是utf-8編碼的例子:
      $str = "漢字";
      if (
      preg_match("/^[\x{4e00}-\x{9fa5}]+$/u",$str)) {
      print(
      "該字符串全部是中文");
      } else {
      print(
      "該字符串不全部是中文");
      }

      下面的例子包含gbk,gb2312的例子:

      <?php
      $action
      = trim($_GET['action']);
      if(
      $action == "sub")
      {
      $str = $_POST['dir'];
      //if(!preg_match("/^[".chr(0xa1)."-".chr(0xff)."A-Za-z0-9_]+$/",$str)) //GB2312漢字字母數字下劃線正則表達式
      if(!preg_match("/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]+$/u",$str)) //UTF-8漢字字母數字下劃線正則表達式
      {
      echo
      "<font color=red>您輸入的[".$str."]含有違法字符</font>";
      }
      else
      {
      echo
      "<font color=green>您輸入的[".$str."]完全合法,通過!</font>";
      }
      }
      ?>
      <form method="POST" action="?action=sub">
      輸入字符(數字,字母,漢字,下劃線):
      <input type="text" name="dir" value="">
      <input type="submit" value="提交">
      </form>

      分享:Eclipse中php插件安裝及Xdebug配置的使用詳解
      本篇文章介紹了,Eclipse中php插件安裝及Xdebug配置的使用詳解。需要的朋友參考下

      來源:模板無憂//所屬分類:PHP教程/更新時間:2013-04-26
      相關PHP教程