在寫項目的時候,很多涉及用戶隐私的内容都會用星号占位,例如
如何實現上圖效果?
通過mysql的concat、left、RIGHT系統函數
2.語法解釋說明作用:将多個字符串連接成一個字符串
語法:concat(字符串1,....,字符串n)
作用:從左邊開始截取字符串
語法:left(字符串,截取長度)
作用:從右邊開始截取字符串
語法:right(字符串,截取長度)
3.步驟分析這裡我們主要通過mysql的concat、left、right函數來過濾數據庫數據。我們以隐藏手機号碼為例,實現過程非常簡單,一共隻需要3個步驟:
① 通過left函數截取手機号前3個字符
② 通過right函數截取手機号後4個字符
③ 通過concat将“前3個字符” “****” 後4個字符連接起來即可
4.代碼實現步驟1:創建數據庫表 并插入測試數據 手機号碼 11位數
CREATE TABLE users ( id int primary key auto_increment comment '編号', uname varchar(45) not null comment '姓名', mobile char(11) not null comment '手機号' ) CHARSET=utf8; insert into users values (null, '張三', 12222222222), (null, '李四', 13333333333), (null, '王五', 14444444444), (null, '趙六', 15555555555);
步驟2:實現功能
SQL語句:
-- 顯示所有字段 并單獨顯示手機字段别名fmt_mobile
SELECT*,mobile AS fmt_mobile FROM users;
-- 顯示所有字段 并單獨顯示手機字段“左邊3個字符”
SELECT*,LEFT ( mobile, 3 ) AS fmt_mobile FROM users;
-- 顯示所有字段 并單獨顯示手機字段”右邊4個字符”
SELECT*,RIGHT ( mobile, 4 ) AS fmt_mobile FROM users;
-- 顯示所有字段 并單獨顯示手機字段”左邊3個字符” "*****" ”右邊4個字符”
SELECT*,concat( LEFT ( mobile, 3 ), '****', RIGHT ( mobile, 4 ) ) AS fmt_mobile FROM users;
到此,功能就實現啦,有文明批評建議歡迎在下方留言!!!
=====================【END】=============================
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!