正則判斷中文(自動識別utf-8 & gbk編碼)
下面這款實例程序是一款php 正確匹配utf8或gbk中文的正則表達式程序,能准確的獲取不同編碼情況的中文漢字的識別。
- <?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="">
- 輸入字符(數字,字母,漢字,下劃線):
- <input type="text" name="dir" value="">
- <input type="submit" value="提交">
- </form>
gbk:
preg_match("/^[".chr(0xa1)."-".chr(0xff)."a-za-z0-9_] $/",$str); //gb2312漢字字母數字下劃線正則表達式