Mask credit card number in PHP

前端 未结 11 1544
执笔经年
执笔经年 2020-12-09 13:19

I have credit card number which I want to mask as below:

$cc = 1234123412341234

echo cc_masking($cc)

1234XXXXXXXX1234

function cc_masking($number) {.....}         


        
11条回答
  •  死守一世寂寞
    2020-12-09 13:46

    I was looking for some code similar. So I found the code below. I hope can help.

    function mask($val, $mask)
    {
        $maskared = '';
    
        $k = 0;
    
        for ($i = 0; $i <= strlen($mask) - 1; $i++) {
            if ($mask[$i] == '#') {
                if (isset($val[$k]))
                    $maskared .= $val[$k++];
            } else {
                if (isset($mask[$i]))
                    $maskared .= $mask[$i];
            }
        }
    
        return $maskared;
    }
    

    Sample:

    echo mask(11111111111, "###.###.###-##"); // 111.111.111-11
    echo mask(11111111111, "#####-###"); // 111111-111
    echo mask(11111111111, anything); // 111111-111
    

提交回复
热议问题