PHP用星号隐藏部份用户名、身份证、IP、手机号等实例
一、仿淘宝评论购买记录隐藏部分用户名,以下代码亲测可用。 代码如下: 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()函数简介: 代码如下: 使用实例: 代码如下:
[/code]
三、将IP最后一位替换为星号 将IP最后一位替换为星号 代码如下: 方法一: 代码如下:
方法二:
代码如下: 四、手机号中间用*星号隐藏的方法五则 代码如下: //方法三 $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); } } 另外,关于身份证号验证本站还提供了身份证归属地查询工具如下: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |