如何将密码字符串转换为指定的符号*
或其他符号。
我目前正在修改密码页面。我想将密码显示到页面,并且我想避免密码被某人忽略,所以我想将密码的字符串转换为*
具有相同长度的符号。像<input type="password" />
.
对不起,我的英语不好...
如何将密码字符串转换为指定的符号*
或其他符号。
我目前正在修改密码页面。我想将密码显示到页面,并且我想避免密码被某人忽略,所以我想将密码的字符串转换为*
具有相同长度的符号。像<input type="password" />
.
对不起,我的英语不好...
$output_password = str_repeat ('*', strlen ($input_password));
如果您正在寻找一种简单的方法来创建等于密码长度的星号字符串:
$modified = str_repeat( "*", strlen( "secretpass" ) );
echo $modified; // **********
您不会在 HTML 中输出密码,而是创建密码的星号 ( *
) 表示。这可以通过 str_repeat 函数轻松完成:
<?php
$password = "MyPasswordThatIWantToMask";
$maskedPassword = str_repeat("*", strlen($password));
?>
现在您只需将 输出$maskedPassword
为密码字段的值。
然而,另一个很有趣的事情:你怎么知道用户密码长度?我真诚地希望您对密码进行哈希处理,而不是将它们放在纯文本周围。
像这样做:
$passwordstring = "password";
$outputpassword = "";
while(strlen($outputpassword)<strlen($passwordstring))
{
$outputpassword .= "*";
}
echo $outputpassword
一种方法是使用密码类型的输入,但将其设置为禁用。
<input type='password' disabled='disabled' value='somepassword' />
虽然这里有很多答案展示了 的用户str_repeat()
,但我有点怀疑这就是你想要的。毕竟,任何白痴都可以用字符填充字符串,而且正如您正确指出的那样,当一个人可以简单地使用时,这样做没有什么意义<input type="password" />
(是的,您仍然可以从源代码中获取密码,但是那为什么还要费心填充一个混淆的字段呢?或者不只是用静态固定数量的 * 字符填充它?)。
我怀疑你正在寻找更像这样的东西:
<?php
$thePassword = "thisIsMyPassword";
?>
<input type="text" id="input_user_types_in" value="<?php echo str_repeat('*', strlen($thePassword)); ?>" />
<input type="hidden" id="value_to_post_back" name="value_to_post_back" value="<?php echo $thePassword; ?>" />
<script type="text/javascript">
var textInput = document.getElementById('input_user_types_in');
var hiddenInput = document.getElementById('value_to_post_back');
textInput.onfocus = function() {
this.value = hiddenInput.value;
};
textInput.onblur = function() {
var i;
hiddenInput.value = this.value;
this.value = '';
for (i = 0; i < hiddenInput.value.length; i++) {
this.value = this.value + '*';
}
};
</script>
摆弄一下它;-)