亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

PHP 正則判斷中文UTF-8或GBK的思路及具體實現

2024-05-04 23:19:45
字體:
來源:轉載
供稿:網友
UTF-8匹配: 在javascript中,要判斷字符串是中文是很簡單的。比如:

復制代碼 代碼如下:


var str = "php編程";
if (/^[/u4e00-/u9fa5]+$/.test(str)) {
alert("該字符串全部是中文");
}else{
alert("該字符串不全部是中文");
}
//php中,是用/x表示十六進制數據的。于是,變換成如下的代碼:
$str = "php編程";
if (preg_match("/^[/x4e00-/x9fa5]+$/",$str)) {
print("該字符串全部是中文");
} else {
print("該字符串不全部是中文");
}


貌似不報錯了,判斷的結果也正確,不過把$str換成“編程”兩字,結果卻還是顯示“該字符串不全部是中文”,看來這樣的判斷還是不夠準確。重要:查閱了<精通正則表達式>發現,對于[/x4e00-/x9fa5]這塊東西,自己做一個強化的解釋 php的正則中, [/x4e00-/x9fa5],其實就是 字符和字符組的概念, /x{hex},表達一個16進制數, 需要注意的是hex 可以是1-2位的,也可以是4位的,但是如果是4位的必須加上大括號, 同時,如果是大于x{FF}的hex,必須和u 修飾符連用,不然會非法出錯
網上只能找到匹配全角字符的正則: ^[/x80-/xff]*^/ ,這里可以不加大括號
[/u4e00-/u9fa5]可以匹配中文,但是PHP又不支持
不過,既然/x表示的十六進制數據,為什么和js里邊提供的范圍/x4e00-/x9fa5不一樣呢?于是我就換成了下邊的代碼,發現真的準確了:

復制代碼 代碼如下:


$str = "php編程";
if (preg_match("/^[/x{4e00}-/x{9fa5}]+$/u",$str)) {
print("該字符串全部是中文");
} else {
print("該字符串不全部是中文");
}


知道了php中utf-8編碼下用正則表達式匹配漢字的最終正確表達式——/^[/x{4e00}-/x{9fa5}]+$/u,

參考以上文章寫了如下一段測試代碼(復制以下代碼保存成.php文件)

復制代碼 代碼如下:


<?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" value="">
<input type="submit" value="提交">
</form>


GBK: preg_match("/^[".chr(0xa1)."-".chr(0xff)."A-Za-z0-9_]+$/",$str); //GB2312漢字字母數字下劃線正則表達式。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
午夜免费日韩视频| 欧美综合激情网| 国产精品爽黄69| 久久免费视频这里只有精品| 久久乐国产精品| 成人亲热视频网站| www.国产精品一二区| 丝袜亚洲另类欧美重口| 亚洲欧洲一区二区三区久久| 日本精品中文字幕| 日韩精品一区二区视频| 欧美电影免费观看电视剧大全| 欧美日韩一区二区免费视频| 成人精品久久久| 日韩经典第一页| 精品无码久久久久久国产| 亚洲成人精品视频在线观看| 久久综合免费视频| 中文字幕日韩有码| 久久久久久久久久久久av| 欧美激情在线观看视频| 亚洲国产高潮在线观看| 亚洲国产天堂久久综合网| 国产在线播放91| 777国产偷窥盗摄精品视频| 久久九九国产精品怡红院| 亚洲高清一区二| 97国产一区二区精品久久呦| 欧美韩日一区二区| 中文字幕在线观看日韩| 日韩中文字幕在线精品| 亚洲人成电影在线播放| 国内精品久久久久久中文字幕| 国产精品高清网站| 亚洲人成网站在线播| 国产成+人+综合+亚洲欧美丁香花| 91精品久久久久久久久不口人| 亚洲国产免费av| 2019av中文字幕| 成人动漫网站在线观看| 在线视频欧美日韩| 亚洲丁香婷深爱综合| 亚洲一级片在线看| 国产免费一区二区三区在线观看| 韩国三级日本三级少妇99| 超碰精品一区二区三区乱码| 午夜精品美女自拍福到在线| 成人国产亚洲精品a区天堂华泰| 亚洲国产精彩中文乱码av在线播放| 国产亚洲日本欧美韩国| 日韩精品极品视频| 亚洲精品狠狠操| 国产午夜精品久久久| 亚洲国产精品va在线看黑人| 91国产视频在线| 一区三区二区视频| 日韩高清免费在线| 91日本视频在线| 久久中文字幕在线| 国内精品视频在线| 国产一区二区久久精品| 精品国产乱码久久久久久虫虫漫画| 96精品视频在线| 欧美肥臀大乳一区二区免费视频| 国产精品一区久久久| 国产精品视频地址| 国产精品扒开腿做爽爽爽的视频| 91av在线播放| 欧美性一区二区三区| 欧美亚洲午夜视频在线观看| 日韩欧中文字幕| 国产精品久久久久久久天堂| 亚洲国产精品久久91精品| 亚洲黄一区二区| 国产精品99一区| 91久久精品国产91久久性色| 亚洲成色777777在线观看影院| 日韩精品极品在线观看播放免费视频| 91麻豆国产语对白在线观看| 欧美中文字幕第一页| 久久精品中文字幕电影| 国产成人av网址| 中文国产亚洲喷潮| 亚洲黄色av女优在线观看| 在线观看国产欧美| 成人看片人aa| 伊人伊人伊人久久| 中文字幕久热精品在线视频| 亚洲精品国产拍免费91在线| 国内精品久久久久伊人av| 国产精品久久久久久久久粉嫩av| 成人中文字幕+乱码+中文字幕| 久久综合色影院| 精品国产自在精品国产浪潮| 国产91色在线播放| 日韩av综合网站| 欧美性感美女h网站在线观看免费| 久热99视频在线观看| 日韩中文视频免费在线观看| 亚洲精品久久久久久久久久久| 国产欧美日韩精品丝袜高跟鞋| 欧美日韩视频免费播放| 91在线观看免费网站| 中文字幕v亚洲ⅴv天堂| 在线播放日韩专区| 欧美怡春院一区二区三区| 自拍偷拍亚洲在线| 欧美精品www在线观看| 欧美视频国产精品| 日韩成人高清在线| 九九精品在线视频| 国语自产偷拍精品视频偷| 欧洲一区二区视频| 亚洲最大福利视频网站| 亚洲人成电影网站色| 亚洲国产精品va在线看黑人动漫| 亚洲欧美国产日韩中文字幕| 久久精品国产一区二区电影| 精品亚洲一区二区三区四区五区| 亚洲综合视频1区| 在线观看国产精品淫| 成人黄色激情网| 国产成人一区二| 欧美久久精品午夜青青大伊人| 国产欧美日韩最新| 亚洲精品大尺度| 久久久国产在线视频| 国外成人在线视频| 日韩三级成人av网| 尤物yw午夜国产精品视频明星| 欧美自拍视频在线观看| 91精品国产网站| 国产成人在线播放| 国产精品第三页| 亚洲福利在线看| 91亚洲一区精品| 国产精品99久久99久久久二8| 国产ts人妖一区二区三区| 2019中文字幕在线免费观看| 欧美视频一区二区三区…| 精品久久久999| 国产精品www色诱视频| 亚洲国产精品va在线看黑人| 91天堂在线观看| www.日韩系列| 日本精品一区二区三区在线| 中文字幕久久久| 亚洲人成人99网站| 欧美成人免费网| 久热精品在线视频| 亚洲综合视频1区| 亚洲视频在线播放| 欧美福利视频在线观看| 久久躁日日躁aaaaxxxx| 国产精品日韩精品| 色妞久久福利网| 日韩精品亚洲精品| 亚洲午夜精品久久久久久久久久久久| 97不卡在线视频| 欧美日韩福利电影| 国产视频一区在线| 日韩欧美有码在线| 美日韩精品免费观看视频| 在线视频中文亚洲|