现在是少女时代,以后是少女时代,永远是少女时代!
sone :少时的假粉丝

PHP处理手机号码



业务需求,在国际业务处理获取手机号码时,处理掉前缀,比如墨西哥手机号码10位,但可能存在52开头12个数,需要去掉52,再比如中国地区号码11位,但可能存在86开头13个数,需要去掉86。


封装处理方法

/**
 * @description 提取 一定 格式的 手机号码 | 去掉 区号 如 84 0  86 52
 * @author Holyrisk
 * @date 2021/4/30 14:34
 * @param $string 原字符串
 * @param $deleteString 要删除的字符串
 * @param int $length 长度 整型
 * @return bool|string
 */
function deleteIntLength($string,$deleteString,$length = 9)
{
    //去除 左右空格 先
    $string = trim($string);
    //手机号码
    $string = (int) filter_var($string, FILTER_SANITIZE_NUMBER_INT);
    if (strlen($string) > $length){
        //长度去匹配
        $length = strlen($deleteString);
        //截取
        $interceptTemp = substr($string,0,$length);
        if($interceptTemp == $deleteString) {
            $string =  substr($string,$length);
        }
    }
    return $string;
}


调用示例

public function test()
{
    $str = "525212354689";
    $result = deleteIntLength($str,'52',10);
    var_dump($result);//输出 string(10) "5212354689"
    $str = "8618812345678";
    $result = deleteIntLength($str,'86',11);
    var_dump($result);//输出 string(12) "188123456789"
}


琼ICP备16001221号-1