скрыть полный номер и отобразить последние 4, но снять маску с номера при отправке формы
Мне нужно отобразить число (число извлекается из базы данных) в поле ввода формы таким образом, чтобы были видны только последние 4 цифры, остальные могут быть замаскированы как * или X или как угодно применимо.
Я знаю, что последние 4 можно получить следующим образом:
$number=substr($number,-4,4);
Но когда я нажимаю кнопку "Отправить", форма проверяет поле ввода и проверяет, является ли номер допустимым номером определенного формата. Поэтому, когда я нажимаю на кнопку "Отправить", я все равно должен иметь возможность снимите маску с замаскированных чисел или сделайте что-то подобное, что помогло бы мне проверить все число.
<input type="text" name="no" value="<?php if(!empty($number)){ echo $number;} ?>">
Итак, я не уверен, как поступить с этим?
Например. Если у меня есть номер 786661234. Его следует отображать в виде XXXXX1234. Когда я нажимаю и отправляю форму, она должна быть расшифрована и обновлена в базе данных как 786661234
2 answers
Введите свой номер в переменную $number и получите результат:
<?php
$number = "1122334455667788";
$masked = str_pad(substr($number, -4), strlen($number), '*', STR_PAD_LEFT);
print $masked;
?>
Еще один вариант маскировки чисел
<?php
echo str_repeat("x", (strlen($number) - 4)).substr($number,-4,4);
?>