[英]Mask HTML password input
一种方法是使用change事件更新状态变量。 这是jquery的一个例子。 (并假设始终显示4个星号)
var entered = "";
$("#my-input").change(function() {
var newVal = $("#my-input").val();
if (newVal.length < 4) {
//backspace was pressed
entered = entered.substr(0, entered.length - 1);
} else if (newVal.length > 4) {
//another key was pressed
entered += newVal.substr(4);
}
$("#my-input").val("****");
});
$("#my-input").val("****");
这不是万无一失的,如果用户选择,复制,粘贴,它将会崩溃。 等等
虽然这会让你得到你所要求的效果,正如其他评论所暗示的那样,它可能不是最好的用户体验。
这是一个非常hacky的css方式,不确定浏览器支持,但不需要JavaScript!
HTML
<div class="test">
<span>····</span>
<input type="password" />
</div>
CSS
.test{
position:relative;
}
.test span{
position:absolute;
z-index:1;
padding:5px; /** Match the input padding **/
font-size:2em;
line-height:.6em
}
input{
z-index:0;
text-indent:-9999px; /** Hide the text typed in **/
}
它本质上只是absolute
在输入,然后通过隐藏的文本点定位text-indent
您还可以使用CSS使文本颜色与输入字段相同:
input[type=password] {
color: white;
}
编辑:或者像@GeraldSchneider一样独立于输入颜色评论:
input[type=password] {
color: transparent;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.