微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP用星号隐藏部份用户名、身份证、IP、手机号等实例

一、仿淘宝评论购买记录隐藏部分用户名,以下代码亲测可用。

代码如下:
$start = 0,$code = 'UTF-8') { if($code == 'UTF-8') { $pa = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/"; preg_match_all($pa,$string,$t_string);

if(count($t_string[0]) - $start > $sublen) return join('',array_slice($t_string[0],$start,$sublen)); return join('',$sublen)); } else { $start = $start*2; $sublen = $sublen*2; $strlen = strlen($string); $tmpstr = '';

for($i=0; $i< $strlen; $i++) { if($i>=$start && $i< ($start+$sublen)) { if(ord(substr($string,$i,1))>129) { $tmpstr.= substr($string,2); } else { $tmpstr.= substr($string,1); } } if(ord(substr($string,1))>129) $i++; } //if(strlen($tmpstr)< $strlen ) $tmpstr.= "..."; return $tmpstr; } }

使用示例:
代码如下:
输出:如**掌

二、PHP身份证号后4位用星号隐藏

一个很简单的问题,想把身份证的号生日的4位隐藏,一开始查函数居然没有看到,然后用了好几个函数处理,觉得太麻烦就上网搜,后来发现有一个函数就能直接处理,所以记录一下: substr_replace()函数简介:

代码如下:
用法 substr_replace() 函数把字符串的一部分替换为另一个字符串。 语法 substr_replace(string,replacement,start,length) 参数描述 string 必需。规定要检查的字符串。 replacement 必需。规定要插入的字符串。 start 必需。规定在字符串的何处开始替换。 正数 - 在第 start 个偏移量开始替换 负数 - 在从字符串结尾的第 start 个偏移量开始替换 0 - 在字符串中的第一个字符处开始替换 length 可选。规定要替换多少个字符。 正数 - 被替换的字符串长度 负数 - 从字符串末端开始的被替换字符数 0 - 插入而非替换

使用实例:

代码如下:
[/code]

三、将IP最后一位替换为星号

将IP最后一位替换为星号 代码如下: 方法一:

代码如下:
方法二:
代码如下:

四、手机号中间用*星号隐藏的方法五则

代码如下:
方法一 function mobile_asterisk($mobile) { $mobile_asterisk = substr($mobile,4)."****".substr($mobile,3); return $mobile_asterisk; } echo mobile_asterisk("15810904579"); //方法二 echo preg_replace("/(1\d{1,4})\d\d\d\d(\d{3,4})/","\$1****\$2","15810904579");

//方法三 $haoma="15012345678"; echo preg_replace("/(d{3})d{5}/","$1*****",$haoma); //输出150*****678

//方法四 $tel1 = "13888111188"; $tel2 = "+8613888111188"; $tel3 = "0861088111188"; $tel4 = "086-010-88111188"; echo preg_replace('/(^.*)\d{4}(\d{4})$/','\\1****\\2',$tel1),"\n"; echo preg_replace('/(^.*)\d{4}(\d{4})$/',$tel2),$tel3),$tel4),"\n";

//方法五 //屏蔽电话号码中间的四位数字 function hidtel($phone) { $IsWhat = preg_match('/(0[0-9]{2,3}[\-]?[2-9][0-9]{6,7}[\-]?[0-9]?)/i',$phone); //固定电话 if($IsWhat == 1) { return preg_replace('/(0[0-9]{2,3}[\-]?[2-9])[0-9]{3,4}([0-9]{3}[\-]?[0-9]?)/i','$1****$2',$phone);

} else { return preg_replace('/(1[358]{1}[0-9])[0-9]{4}([0-9]{4})/i',$phone); } }

另外,关于身份证号验证本站还提供了身份证归属地查询工具如下:

原文地址:https://www.jb51.cc/php/24846.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐