以下のようにマスクしたいクレジットカード番号があります:
$cc = 1234123412341234
echo cc_masking($cc)
1234XXXXXXXX1234
function cc_masking($number) {.....}
これの正規表現を提案してください。
以下のようにマスクしたいクレジットカード番号があります:
$cc = 1234123412341234
echo cc_masking($cc)
1234XXXXXXXX1234
function cc_masking($number) {.....}
これの正規表現を提案してください。
これは次を使用して機能するはずsubstr
です:
function ccMasking($number, $maskingCharacter = 'X') {
return substr($number, 0, 4) . str_repeat($maskingCharacter, strlen($number) - 8) . substr($number, -4);
}
使用できますsubstr_replace
$var = '1234123412341234';
$var = substr_replace($var, str_repeat("X", 8), 4, 8);
echo $var;
出力
1234XXXXXXXX1234
<?php
echo 'XXXX-XXXX-XXXX-'.substr($cc,-4);
?>
正規表現で
function cc_masking( $number, $maskChar = 'X' ) {
return preg_replace(
'/^(....).*(....)$/',
'\1' . str_repeat( $maskChar, strlen( $number ) - 8) . '\2',
$number );
}
最初の 4 文字 (および最後の 4 文字) を保持し、残りを X に置き換えます。
これには正規表現は必要ありません。最初に n 個の数字、最後に n 個の数字を取り、真ん中に X を追加して完成させます。