PHP 对银行卡,手机号,真实姓名,身份证进行掩码加星号处理

本文主要是介绍PHP 对银行卡,手机号,真实姓名,身份证进行掩码加星号处理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 在开发中,经常遇到一些小问题,比如用户隐私问题就值得关注下,在页面上显示的内容都要处理下才可以 

 对银行卡,手机号,真实姓名,身份证进行掩码也是常见的

  /*** 对银行卡号进行掩码处理* 掩码规则头4位,末尾余数位不变,中间4的整数倍字符用星号替换,并且用每隔4位空格隔开* @author 晓风<215628355@qq.com>* @param  string $bankCardNo 银行卡号* @return string             掩码后的银行卡号*/function formatBankCardNo($bankCardNo){//每隔4位分割为数组$split = str_split($bankCardNo,4);    //头和尾保留,其他部分替换为星号       $split = array_fill(1,count($split) - 2,"****") + $split;ksort($split);//合并return implode(" ",$split);}/*** 对手机号进行掩码处理* 手机号掩码的规则是末尾4位,开头余数位不变,中间4的整数倍字符用星号替换   * @author 晓风<215628355@qq.com> * @param string $mobile 手机号* @return string*/function formatMobile($mobile){//颠倒顺序每隔4位分割为数组$split = str_split(strrev($mobile),4);    //头和尾保留,其他部分替换为星号  $split = array_fill(1,count($split) - 2,"****") + $split;ksort($split);//合并颠倒顺序return strrev( implode("",$split));}/*** 姓名第一个字掩码* @author 晓风<215628355@qq.com> * @param string $true_name 真实姓名* @return string*/function formatTrueName($true_name){      return "*" . mb_substr($true_name,1);}/*** 对身份证进行掩码* 掩码规则是显示头两位和末尾1位,中间星号* @author 晓风<215628355@qq.com> * @param string $id_card 身份证号* @return string*/function formatIdCard($id_card){      //每隔1位分割为数组$split = str_split($id_card,1);    //头2位和尾保留,其他部分替换为星号     $split = array_fill(2,count($split) - 3,"*") + $split;ksort($split);//合并return implode("",$split);}

 

这篇关于PHP 对银行卡,手机号,真实姓名,身份证进行掩码加星号处理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/980679

相关文章

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

Thymeleaf:生成静态文件及异常处理java.lang.NoClassDefFoundError: ognl/PropertyAccessor

我们需要引入包: <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>sp

遮罩,在指定元素上进行遮罩

废话不多说,直接上代码: ps:依赖 jquer.js 1.首先,定义一个 Overlay.js  代码如下: /*遮罩 Overlay js 对象*/function Overlay(options){//{targetId:'',viewHtml:'',viewWidth:'',viewHeight:''}try{this.state=false;//遮罩状态 true 激活,f

jenkins 插件执行shell命令时,提示“Command not found”处理方法

首先提示找不到“Command not found,可能我们第一反应是查看目标机器是否已支持该命令,不过如果相信能找到这里来的朋友估计遇到的跟我一样,其实目标机器是没有问题的通过一些远程工具执行shell命令是可以执行。奇怪的就是通过jenkinsSSH插件无法执行,经一番折腾各种搜索发现是jenkins没有加载/etc/profile导致。 【解决办法】: 需要在jenkins调用shell脚

利用matlab bar函数绘制较为复杂的柱状图,并在图中进行适当标注

示例代码和结果如下:小疑问:如何自动选择合适的坐标位置对柱状图的数值大小进行标注?😂 clear; close all;x = 1:3;aa=[28.6321521955954 26.2453660695847 21.69102348512086.93747104431360 6.25442246899816 3.342835958564245.51365061796319 4.87

PHP原理之内存管理中难懂的几个点

PHP的内存管理, 分为俩大部分, 第一部分是PHP自身的内存管理, 这部分主要的内容就是引用计数, 写时复制, 等等面向应用的层面的管理. 而第二部分就是今天我要介绍的, zend_alloc中描写的关于PHP自身的内存管理, 包括它是如何管理可用内存, 如何分配内存等. 另外, 为什么要写这个呢, 因为之前并没有任何资料来介绍PHP内存管理中使用的策略, 数据结构, 或者算法. 而在我们

php中json_decode()和json_encode()

1.json_decode() json_decode (PHP 5 >= 5.2.0, PECL json >= 1.2.0) json_decode — 对 JSON 格式的字符串进行编码 说明 mixed json_decode ( string $json [, bool $assoc ] ) 接受一个 JSON 格式的字符串并且把它转换为 PHP 变量 参数 json