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


Posted in PHP onApril 08, 2014

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

function cut_str($string, $sublen, $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('', array_slice($t_string[0], $start, $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, $i, 2);

                }

                else

                {

                    $tmpstr.= substr($string, $i, 1);

                }

            }

            if(ord(substr($string, $i, 1))>129) $i++;

        }

        //if(strlen($tmpstr)< $strlen ) $tmpstr.= "...";

        return $tmpstr;

    }

}

使用示例:
$str = "如来神掌";

echo cut_str($str, 1, 0).'**'.cut_str($str, 1, -1);

//输出:如**掌

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

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

定义和用法

substr_replace() 函数把字符串的一部分替换为另一个字符串。

语法

substr_replace(string,replacement,start,length)

参数 描述

string     必需。规定要检查的字符串。

replacement 

    必需。规定要插入的字符串。

start 

必需。规定在字符串的何处开始替换。

正数 - 在第 start 个偏移量开始替换

负数 - 在从字符串结尾的第 start 个偏移量开始替换

0 - 在字符串中的第一个字符处开始替换

length 

可选。规定要替换多少个字符。

正数 - 被替换的字符串长度

负数 - 从字符串末端开始的被替换字符数

0 - 插入而非替换

使用实例:

[code]

echo strlen($idcard)==15?substr_replace($idcard,"****",8,4):(strlen($idcard)==18?substr_replace($idcard,"****",10,4):"身份证位数不正常!");

[/code]

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

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

<?php

str = '1.1.1.1';

reg = '/((?:\d+\.){3})\d+/';

echo preg_replace(reg, "\\1*", str);

?>

方法二:
<?php 

$ip =$_SERVER['REMOTE_ADDR'];

  $ip_arr= explode('.', $ip);

  $ip_arr[3]='*';

  $ip= implode('.', $ip_arr);

echo $ip;

?>

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

//方法一

function mobile_asterisk($mobile)

{

 $mobile_asterisk = substr($mobile,0,4)."****".substr($mobile,8,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})$/','\\1****\\2',$tel2),"\n";

echo preg_replace('/(^.*)\d{4}(\d{4})$/','\\1****\\2',$tel3),"\n";

echo preg_replace('/(^.*)\d{4}(\d{4})$/','\\1****\\2',$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','$1****$2',$phone);

    }

}

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

PHP 相关文章推荐
用libTemplate实现静态网页的生成
Oct 09 PHP
一段防盗连的PHP代码
Dec 06 PHP
PHP GD 图像处理组件的常用函数总结
Apr 28 PHP
从康盛产品(discuz)提取出来的模板类
Jun 28 PHP
PHP中去除换行解决办法小结(PHP_EOL)
Nov 27 PHP
PHP备份数据库生成SQL文件并下载的函数代码
Feb 05 PHP
php比较两个绝对时间的大小
Jan 31 PHP
Codeigniter购物车类不能添加中文的解决方法
Nov 29 PHP
php实现将上传word文件转为html的方法
Jun 03 PHP
调试WordPress中定时任务的相关PHP脚本示例
Dec 10 PHP
php+Ajax处理xml与json格式数据的方法示例
Mar 04 PHP
php中目录操作opendir()、readdir()及scandir()用法示例
Jun 08 PHP
php实现telnet功能示例
Apr 08 #PHP
C#使用PHP服务端的Web Service通信实例
Apr 08 #PHP
php实现水仙花数的4个示例分享
Apr 08 #PHP
php命令行使用方法和命令行参数说明
Apr 08 #PHP
php实现httpclient类示例
Apr 08 #PHP
php使用json_encode对变量json编码
Apr 07 #PHP
php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
Apr 05 #PHP
You might like
phpstorm编辑器乱码问题解决
2014/12/01 PHP
php查看网页源代码的方法
2015/03/13 PHP
typecho插件编写教程(四):插件挂载
2015/05/28 PHP
解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法
2015/10/23 PHP
Symfony2使用Doctrine进行数据库查询方法实例总结
2016/03/18 PHP
CakePHP框架Model函数定义方法示例
2017/08/04 PHP
php远程请求CURL实例教程(爬虫、保存登录状态)
2020/12/10 PHP
javascript的函数、创建对象、封装、属性和方法、继承
2011/03/10 Javascript
面向对象继承实例(a如何继承b问题)(自写)
2013/07/01 Javascript
使用mouse事件实现简单的鼠标经过特效
2015/01/30 Javascript
实例解析jQuery插件EasyUI最常用的表单验证规则
2015/11/29 Javascript
JS拖拽组件学习使用
2016/01/19 Javascript
微信小程序 video详解及简单实例
2017/01/16 Javascript
cordova入门基础教程及使用中遇到的一些问题总结
2017/11/14 Javascript
jQuery轮播图实例详解
2018/08/15 jQuery
Python深入学习之特殊方法与多范式
2014/08/31 Python
python按照多个字符对字符串进行分割的方法
2015/03/17 Python
python实现马耳可夫链算法实例分析
2015/05/20 Python
python 链接和操作 memcache方法
2017/03/04 Python
Python内置函数—vars的具体使用方法
2017/12/04 Python
python贪婪匹配以及多行匹配的实例讲解
2018/04/19 Python
Python实现针对给定字符串寻找最长非重复子串的方法
2018/04/21 Python
python XlsxWriter模块创建aexcel表格的实例讲解
2018/05/03 Python
Python qqbot 实现qq机器人的示例代码
2019/07/11 Python
PyCharm刷新项目(文件)目录的实现
2020/02/14 Python
解决json中ensure_ascii=False的问题
2020/04/03 Python
Jupyter notebook无法导入第三方模块的解决方式
2020/04/15 Python
Python ADF 单位根检验 如何查看结果的实现
2020/06/03 Python
在Tensorflow中实现leakyRelu操作详解(高效)
2020/06/30 Python
Pycharm Git 设置方法
2020/09/15 Python
Python Pygame实现俄罗斯方块
2021/02/19 Python
利用css3画个同心圆示例代码
2017/07/03 HTML / CSS
Urban Decay官方网站:美国化妆品品牌
2020/06/04 全球购物
VC++笔试题
2014/10/13 面试题
基层干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
微软Win11有哪些隐藏功能? windows11多个功能汇总
2021/11/21 数码科技