首頁  >  文章  >  後端開發  >  php怎麼判斷字串含不含中文

php怎麼判斷字串含不含中文

青灯夜游
青灯夜游原創
2021-05-14 17:35:084158瀏覽

在php中,可以使用preg_match()函數來配合正規表示式來判斷字串裡含不含中文,語法格式「preg_match("/[\x7f-\xff]/", 字串) 」;如果返回1則含有中文,如果返回0則不含中文。

php怎麼判斷字串含不含中文

本教學操作環境:windows7系統、PHP7.1版,DELL G3電腦

自從有了黑帽SEO,對付SPAM(垃圾留言)一直是網站工作人員的工作內容之一。迫害我們的不是垃圾留言群發機,就是垃圾使用者註冊機。

判斷字串中是否含有中文是對付SPAM的方法之一,可以有效的阻止純英文的垃圾留言,還可以用這個方法規範用戶註冊。看下面的程式碼,相容於gb2312和utf-8。

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);
$str = "测试中文";
echo $str;
echo "<hr>";
//if (preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/", $str)) { //只能在GB2312情况下使用
//if (preg_match("/^[\x7f-\xff]+$/", $str)) { //兼容gb2312,utf-8  //判断字符串是否全是中文
if (preg_match("/[\x7f-\xff]/", $str)) {  //判断字符串中是否有中文
echo "含有中文,正确输入";
} else {
echo "不含中文,错误输入";
}
?>

輸出:

php怎麼判斷字串含不含中文

另附,雙位元組字元編碼範圍

1. GBK (GB2312 /GB18030)
\x00-\xff GBK雙位元組編碼範圍
\x20-\x7f ASCII
\xa1-\xff 中文gb2312
\x80-\xff 中文gbk

2. UTF-8 (Unicode)
\u4e00-\u9fa5 (中文)
\x3130-\x318F (韓文
\xAC00-\xD7A3 (韓文)
\u0800-\u4e00 (日文)*/

推薦學習:《PHP影片教學

以上是php怎麼判斷字串含不含中文的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn