gbk編碼下漢字正則
1.判斷字符串是否全是漢字
代碼如下
<?php
$str = '全部是漢字測試';
if (preg_match_all("/^([x81-xfe][x40-xfe])+$/", $str, $match)) {
echo '全部是漢字';
} else {
echo '不全是漢字';
}
?>
當$str = '全部是漢字測試'; 時輸出"全部是漢字";
當$str = 'all全部是漢字測試'; 時輸出"不全是漢字";
2.判斷字符串是否包含漢字
代碼如下
<?php
$str = '漢字3測試';
if (preg_match("/([x81-xfe][x40-xfe])/", $str, $match)) {
echo '含有漢字';
} else {
echo '不含有漢字';
}
?>
當$str = '漢字3測試'; 時輸出"含有漢字";
當$str = 'abc345'; 時輸出"不含有漢字";
上述變量$str的內容與utf8還是gbk編碼無關,判斷結果是一樣的。
utf-8編碼下用正則表達式如何匹配漢字
代碼如下
$str = "php編程";
if (preg_match("/^[x{4e00}-x{9fa5}]+$/u",$str)) {
print("該字符串全部是中文");
} else {
print("該字符串不全部是中文");
}