```
<?php
// if(!checkSurname('奶罩')) {
// echo "非中文名字";
// } else {
// echo "中文名字";
// }
// echo "<br>";
// if(!checkSurname('王兆鎮')) {
// echo "非中文名字";
// } else {
// echo "中文名字";
// }
function checkSurname($user_name) {
$array = array( '趙', '錢', '孫', '李', '周', '吳', '鄭', '王', '馮', '陳', '楮', '衛', '蔣', '沈', '韓', '楊',
'朱', '秦', '尤', '許', '何', '呂', '施', '張', '孔', '曹', '嚴', '華', '金', '魏', '陶', '姜',
'戚', '謝', '鄒', '喻', '柏', '水', '竇', '章', '云', '蘇', '潘', '葛', '奚', '范', '彭', '郎',
'魯', '韋', '昌', '馬', '苗', '鳳', '花', '方', '俞', '任', '袁', '柳', '酆', '鮑', '史', '唐',
'費', '廉', '岑', '薛', '雷', '賀', '倪', '湯', '滕', '殷', '羅', '畢', '郝', '鄔', '安', '常',
'樂', '于', '時', '傅', '皮', '卞', '齊', '康', '伍', '余', '元', '卜', '顧', '孟', '平', '黃',
'和', '穆', '蕭', '尹', '姚', '邵', '湛', '汪', '祁', '毛', '禹', '狄', '米', '貝', '明', '臧',
'計', '伏', '成', '戴', '談', '宋', '茅', '龐', '熊', '紀', '舒', '屈', '項', '祝', '董', '梁',
'杜', '阮', '藍', '閩', '席', '季', '麻', '強', '賈', '路', '婁', '危', '江', '童', '顏', '郭',
'梅', '盛', '林', '刁', '鍾', '徐', '丘', '駱', '高', '夏', '蔡', '田', '樊', '胡', '凌', '霍',
'虞', '萬', '支', '柯', '昝', '管', '盧', '莫', '經', '房', '裘', '繆', '干', '解', '應', '宗',
'丁', '宣', '賁', '鄧', '郁', '單', '杭', '洪', '包', '諸', '左', '石', '崔', '吉', '鈕', '龔',
'程', '嵇', '邢', '滑', '裴', '陸', '榮', '翁', '荀', '羊', '於', '惠', '甄', '麹', '家', '封',
'芮', '羿', '儲', '靳', '汲', '邴', '糜', '松', '井', '段', '富', '巫', '烏', '焦', '巴', '弓',
'牧', '隗', '山', '谷', '車', '侯', '宓', '蓬', '全', '郗', '班', '仰', '秋', '仲', '伊', '宮',
'寧', '仇', '欒', '暴', '甘', '斜', '厲', '戎', '祖', '武', '符', '劉', '景', '詹', '束', '龍',
'葉', '幸', '司', '韶', '郜', '黎', '薊', '薄', '印', '宿', '白', '懷', '蒲', '邰', '從', '鄂',
'索', '咸', '籍', '賴', '卓', '藺', '屠', '蒙', '池', '喬', '陰', '郁', '胥', '能', '蒼', '雙',
'聞', '莘', '黨', '翟', '譚', '貢', '勞', '逄', '姬', '申', '扶', '堵', '冉', '宰', '酈', '雍',
'郤', '璩', '桑', '桂', '濮', '牛', '壽', '通', '邊', '扈', '燕', '冀', '郟', '浦', '尚', '農',
'溫', '別', '莊', '晏', '柴', '瞿', '閻', '充', '慕', '連', '茹', '習', '宦', '艾', '魚', '容',
'向', '古', '易', '慎', '戈', '廖', '庾', '終', '暨', '居', '衡', '步', '都', '耿', '滿', '弘',
'匡', '國', '文', '寇', '廣', '祿', '闕', '東', '歐', '殳', '沃', '利', '蔚', '越', '夔', '隆',
'師', '鞏', '厙', '聶', '晁', '勾', '敖', '融', '冷', '訾', '辛', '闞', '那', '簡', '饒', '空',
'曾', '毋', '沙', '乜', '養', '鞠', '須', '豐', '巢', '關', '蒯', '相', '查', '后', '荊', '紅',
'游', '竺', '權', '逑', '蓋', '益', '桓', '公', '仉', '督', '晉', '楚', '閻', '法', '汝', '鄢',
'涂', '欽', '岳', '帥', '緱', '亢', '況', '后', '有', '琴', '歸', '海', '墨', '哈', '譙', '笪',
'年', '愛', '陽', '佟', '商', '牟', '佘', '佴', '伯', '賞'
);
$double_array = array( "萬俟", "司馬", "上官", "歐陽", "夏侯", "諸葛", "聞人", "東方", "赫連", "皇甫", "尉遲", "公羊",
"澹臺", "公冶", "宗政", "濮陽", "淳于", "單于", "太叔", "申屠", "公孫", "仲孫", "軒轅", "令狐",
"鍾離", "宇文", "長孫", "慕容", "鮮于", "閭丘", "司徒", "司空", "丌官", "司寇", "子車", "微生",
"顓孫", "端木", "巫馬", "公西", "漆雕", "樂正", "壤駟", "公良", "拓拔", "夾谷", "宰父", "谷梁",
"段干", "百里", "東郭", "南門", "呼延", "羊舌", "梁丘", "左丘", "東門", "西門", "南宮"
);
$first_name = utf8sub($user_name, 1);
$double_name = utf8sub($user_name, 2);
if(in_array($first_name,$array) || in_array($double_name, $double_array))
{
return TRUE;
}else{
return FALSE;
}
}/**
* UTF8字符串截取函數
* @param type $str
* @param type $len
* @return string
*/
function utf8sub($str,$len,$offset=0)
{
if($len<0){
return '';
}
$res = '';
// $offset = 0;
$chars = 0;
$count = 0;
$length = strlen($str);//待截取字符串的字節數
while($chars<$len && $offset<$length){
$high = decbin(ord(substr($str,$offset,1)));//先截取客串的一個字節,substr按字節進行截取
//重要突破,已經能夠判斷高位字節
if(strlen($high)<8){//英文字符ascii編碼長度為7,通過長度小于8來判斷
$count = 1;
// echo 'hello,I am in','<br>';
}elseif (substr($high,0,3) == '110') {
$count = 2; //取兩個字節的長度
}elseif (substr($high,0,4) == '1110') {
$count = 3; //取三個字節的長度
}elseif (substr($high,0,5) == '11110') {
$count = 4;
}elseif (substr($high,0,6) == '111110') {
$count = 5;
}elseif(substr($high,0,7)=='1111110'){
$count = 6;
}
$res .= substr($str,$offset,$count);
$chars +=1;
$offset += $count;
}
return $res;
}
```
- 課程介紹
- thinkphp5.0
- 安裝
- 開發規范
- 目錄結構
- 配置參數
- 系統常量
- tp5自帶的函數
- 助手函數
- 擴展類庫
- 基本類庫
- Workerman
- think-queue
- 驗證碼
- 圖片
- 權限認證
- 課前準備
- 數據庫設計
- 模塊設計
- 管理員管理
- 添加
- 編輯
- 刪除和批量刪除
- 列表頁
- 實列
- 權限管理
- 操作日志
- 基于行為的日記錄
- 行為日志的擴展
- 助手類庫
- 自建函數
- 將數組轉成uri字符串
- 獲取當前服務器的IP
- curl-post
- 截取文字中間的字符串
- 檢查中文姓名
- 省市區分別截取
- 抽獎概率問題
- 短信郵箱模板替換
- 生成csv
- PHP 圖片轉base64
- 銀行卡驗證
- json返回接口封裝
- 無限極分類
- 病毒
- xml和數組互轉
- xml轉成數組
- 數組轉xml
- tp控制器相關
- 獲取thinkph5下控制器和方法名
- 后臺查詢的簡單封裝
- 網址信息
- 獲取網站logo
- 判斷url是否存在
- 獲取title
- 判斷遠程文件是否存在
- 獲取頁面所有鏈接
- 過濾
- 截取
- 時間
- 獲取服務器信息
- 根據id生成唯一邀請碼
- 隨機顏色
- 數組字符串互換
- 創建多級目錄
- 懶人查詢
- 時間和時間戳轉換
- 房間id生菜
- 獲取需要的數組元素
- 文件和文件夾
- 文件類庫
- 文件夾
- 七牛云
- 七牛云運用場景
- 七牛云使用實例
- 郵箱
- 郵箱驗證
- 郵箱發送
- 數據庫
- 數據庫在thinkphp中的補充方法
- 備份和安全
- sql執行
- 數據庫備份2
- 時間日歷
- 時間格式化
- 日歷
- 圖片相關
- 自動獲取圖片主題顏色
- 獲取html中的圖片路徑
- 獲取圖片場景
- 獲取圖片實踐
- 圖片處理類
- 圖片處理場景
- 圖片處理實踐
- 數據驗證分析
- 身份證相關
- 新聞
- 自建類庫
- 簡易分類庫
- php 壓縮CSS代碼
- 身份證
- 分詞和抽詞
- 分詞應用場景
- 分詞實踐
- 中文轉拼音
- 中文轉拼音場景
- 中文轉拼音實踐
- 二維碼操作
- 二維碼場景
- 二維碼實踐
- 短地址
- PHPWord
- 插件化
- 插件擴展庫
- 插件列表
- 插件安裝和卸載
- 插件實踐
- 插件的離線安裝
- 計劃任務
- 計劃任務安裝
- 計劃任務實踐
- 定時器
- 注冊登錄
- 普通登錄注冊
- 第三方登錄注冊
- jwt接口登錄注冊
- 短信
- 飛鴿短信
- 阿里短信
- 消息隊列
- 網站地圖
- 全站靜態化
- 緩存
- 文件導出
- PDF生成
- phpword
- PHPExcel
- 其他類庫
- 百度
- 百度語音
- 快遞
- 跨域問題
- 寶塔
- 搜索記錄