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

标签 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

最佳答案

数字屏蔽的另一种选择

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

?>

关于php - 隐藏完整号码并显示最后 4 个,但在提交表单时取消屏蔽该号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9610385/

相关文章:

javascript - 在 Dropzone 中添加现有图像文件

arrays - 如何索引数组中的字符串?

java - .NET与Java子串操作性能对比

php - MySQL如何使用不同的约束查询多个表?

php - 帮助理解 magic_quotes_gpc()

php - #CodeIgniter 将多个复选框中的每个 "checked"复选框值发送到数据库?

c# - 这段代码怎么可能: "ArgumentOutOfRangeException: startIndex cannot be larger than length of string"?

php - 我只想从一个多于和少于 3 个字符的数组中获取单词列表,但我该怎么做呢?

php - 无法在 Heroku 上迁移数据库(试过 MySQL 和 PostgreSQL)

JavaScript 检查表单文本区域中的第一个单词