mysql用什么数据定义手机号(教你如何利用MySQL隐藏真实手机号码)
在写项目的时候,很多涉及用户隐私的内容都会用星号占位,例如
- 京东商品详情评论功能(用户昵称使用星号占位,避免泄露用户信息)
- 抽奖活动中奖名单(用户手机号使用星号占位,避免泄露用户信息)
如何实现上图效果?
通过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】=============================
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com