下面這款實例程序是一款PHP 正確匹配UTF8或gbk中文的正則表達式程序,能准確的獲取不同編碼情況的中文漢字的識別。
代碼如下
復制代碼
$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漢字字母數字下劃線正則表達式