日期:2014-05-17 浏览次数:20532 次
$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); } }