PHP中的掩码数据ID卡号[关闭]

问题描述 投票:-1回答:1

我有一些类似于以下的数据:

444444444444444

我想向数据添加掩码,因此它看起来像这样:

44.444.444.4-444.444

我尝试使用:

$x_data = preg_replace('~.{3}\K(?!$)~', '.', $x_data);

哪个让我知道:

444.444.444.444.444

我如何修改我的preg_replace以提供我想要的确切输出?

php preg-replace
1个回答
3
投票

您可以使用捕获组方法,然后根据期望的格式连接子组件。

$x_data = "444444444444444";
echo $x_data . "\n";
$x_data = preg_replace('/^(\d{2})(\d{3})(\d{3})(\d)(\d{3})(\d{3})$/',
                       '$1.$2.$3.$4-$5.$6',
                       $x_data);
echo $x_data;

此打印:

444444444444444
44.444.444.4-444.444
© www.soinside.com 2019 - 2024. All rights reserved.