隐藏完整的号码并显示最后4,但在表单提交时取消屏蔽号码

时间:2012-03-07 22:54:21

标签: php forms substring mask

我需要在表单输入字段中显示一个数字(从数据库中检索的数字),这样只有最后4位数字是可见的,剩下的可以被屏蔽为*或X或任何适用的数字。

我知道最后4个可以获得如下:

$number=substr($number,-4,4);

但是当我点击提交按钮时,表单会验证输入字段并检查该数字是否是特定格式的有效数字。 因此,当我点击提交按钮时,我仍然可以取消屏蔽被屏蔽的数字或执行类似的操作来帮助我验证整个数字。

<input type="text" name="no" value="<?php if(!empty($number)){ echo $number;} ?>">

所以我不确定如何去做这个?

例如。如果我有一个号码786661234。 它应该以XXXXX1234的形式显示出来。 当我点击并提交表单时, 它应该在数据库中解码和更新为786661234

2 个答案:

答案 0 :(得分:4)

数字屏蔽的另一种选择

<?php 
echo str_repeat("x", (strlen($number) - 4)).substr($number,-4,4);

&GT;

答案 1 :(得分:3)

将您的号码放入$ number变量&amp;得到结果:

<?php

$number =  "1122334455667788";
$masked =  str_pad(substr($number, -4), strlen($number), '*', STR_PAD_LEFT);
print $masked;

?>