php 中的掩码数据身份证号码
mask data id card number in php
我有一些类似于以下的数据:
444444444444444
我想为数据添加掩码,使其看起来像这样:
44.444.444.4-444.444
我尝试使用:
$x_data = preg_replace('~.{3}\K(?!$)~', '.', $x_data);
这让我:
444.444.444.444.444
如何修改 preg_replace 以提供我正在寻找的确切输出?
您可以使用捕获组方法,然后根据您期望的格式连接子组件。
$x_data = "444444444444444";
echo $x_data . "\n";
$x_data = preg_replace('/^(\d{2})(\d{3})(\d{3})(\d)(\d{3})(\d{3})$/',
'...-.',
$x_data);
echo $x_data;
这会打印:
444444444444444
44.444.444.4-444.444
我有一些类似于以下的数据:
444444444444444
我想为数据添加掩码,使其看起来像这样:
44.444.444.4-444.444
我尝试使用:
$x_data = preg_replace('~.{3}\K(?!$)~', '.', $x_data);
这让我:
444.444.444.444.444
如何修改 preg_replace 以提供我正在寻找的确切输出?
您可以使用捕获组方法,然后根据您期望的格式连接子组件。
$x_data = "444444444444444";
echo $x_data . "\n";
$x_data = preg_replace('/^(\d{2})(\d{3})(\d{3})(\d)(\d{3})(\d{3})$/',
'...-.',
$x_data);
echo $x_data;
这会打印:
444444444444444
44.444.444.4-444.444