Javascript 类似citicards.com的html文本掩码模式(a****a)

Javascript 类似citicards.com的html文本掩码模式(a****a),javascript,html,Javascript,Html,citicards.com如何实现带有特殊掩码的登录ID文本框 当你输入johndoe并将焦点放在外面时,文本框变成jo***oe 有没有带模式的HTML5掩码 您必须使用JS/jQuery。首先数一数您希望从开始到结束的字母数量,然后用*替换其他所有字母,并附加到假输入字段 您可以看到,在操作中,此处将“不透明度”替换为0以完全隐藏输入字段,“显示:无”在此处不起作用,因为您必须单击输入本身: $document.readyfunction{ $hField.focusin 作用{ $'hF

citicards.com如何实现带有特殊掩码的登录ID文本框

当你输入johndoe并将焦点放在外面时,文本框变成jo***oe

有没有带模式的HTML5掩码


您必须使用JS/jQuery。首先数一数您希望从开始到结束的字母数量,然后用*替换其他所有字母,并附加到假输入字段

您可以看到,在操作中,此处将“不透明度”替换为0以完全隐藏输入字段,“显示:无”在此处不起作用,因为您必须单击输入本身:

$document.readyfunction{ $hField.focusin 作用{ $'hFieldDSP'。文本$this.val; }; $hField.focusoutfunction{ var start=; var-end=; var值=$this.val; var星=; 如果值.length<3{ 回来 } 如果value.length>6{ 开始=值。子字符串0,2; end=value.substringvalue.length-2; stars='*'.repeatMath.max1,value.length-4; }否则{ 开始=值。子字符串0,1; end=value.substringvalue.length-1; stars='*'.repeatMath.max1,value.length-2; } $'hFieldSp'.textstart+stars+end; }; $document.on'input paste change'、'hField',函数{ $'hFieldDSP'。文本$this.val; }; }; String.prototype.repeat=functionnum{ 返回新的Arraynum+1.jointhis; } .包装纸{ 浮动:左; 位置:相对位置; } 赫菲尔德, hFieldSp{ 宽度:100px; 高度:30px; 线高:30px; 边框:1px实心ddd; } 赫菲尔德{ 不透明度:.2; 位置:绝对位置; 左:0; 排名:0; }
您必须使用JS/jQuery。首先数一数您希望从开始到结束的字母数量,然后用*替换其他所有字母,并附加到假输入字段

您可以看到,在操作中,此处将“不透明度”替换为0以完全隐藏输入字段,“显示:无”在此处不起作用,因为您必须单击输入本身:

$document.readyfunction{ $hField.focusin 作用{ $'hFieldDSP'。文本$this.val; }; $hField.focusoutfunction{ var start=; var-end=; var值=$this.val; var星=; 如果值.length<3{ 回来 } 如果value.length>6{ 开始=值。子字符串0,2; end=value.substringvalue.length-2; stars='*'.repeatMath.max1,value.length-4; }否则{ 开始=值。子字符串0,1; end=value.substringvalue.length-1; stars='*'.repeatMath.max1,value.length-2; } $'hFieldSp'.textstart+stars+end; }; $document.on'input paste change'、'hField',函数{ $'hFieldDSP'。文本$this.val; }; }; String.prototype.repeat=functionnum{ 返回新的Arraynum+1.jointhis; } .包装纸{ 浮动:左; 位置:相对位置; } 赫菲尔德, hFieldSp{ 宽度:100px; 高度:30px; 线高:30px; 边框:1px实心ddd; } 赫菲尔德{ 不透明度:.2; 位置:绝对位置; 左:0; 排名:0; }
下面是使用纯javascript实现所需行为的示例。这只是一个样品。在实际使用substr之前,您可能需要进行长度检查等

document.querySelectorinputaccountName.addEventListenerblur,函数{ var值=此值; document.querySelectormaskedAccountName.textContent=this.value.substr0,2+this.value.substr2,value.length-2.replace//g,*+this.value.substrthis.value.length-2,this.value.length; this.style.display=无; document.querySelectormaskedAccountName.style.display=block; },假; document.querySelectormaskedAccountName.addEventListenerclick,函数{ this.style.display=无; document.querySelectorinputaccountName.style.display=block; document.querySelectorinputaccountName.focus; },假; divmaskedAccountName{ 边框:1px实心RGBA2312312312310.67; 填充:2px; 显示:无; 边框顶部样式:插图; -webkit外观:textfield; 背景色:白色; 宽度:120px; }
下面是使用纯javascript实现所需行为的示例。这只是一个样品。在实际使用substr之前,您可能需要进行长度检查等

document.querySelectorinputaccountName.addEventListenerblur,函数{ var值=此值; document.querySelectormaskedAccountName.textContent=this.value.substr0,2+this.value.substr2,value.length-2.replace//g,*+this.value.substrthis.value.length-2,this.value.length; this.style.display=无; document.querySelectormaskedAccountName.style.display=block; },假; document.querySelectormaskedAccountName.addEventListenerclick,函数{ this.style.display=无; document.querySelectorinputaccountName.style.display=block; document.querySelectorinputaccountName.focus; },假; divmaskedAccountName{ 边框:1px实心RGBA2312312312310.67; 填充:2px; 显示:无; 边框顶部样式:插图; -webkit外观:textfield; 背景色:白色; 宽度:120px; } 我会使用虚拟输入 用于显示。然后在“模糊”上,将值转移到隐藏输入,并更改虚拟对象中的文本。您可能还希望在用户想要更改值的情况下使用相反的方法:在焦点上,将隐藏输入中的值复制到虚拟值。这是一个示例,不需要jQuery,如果输入中的字符少于5个,它将改为所有*s

var start=0; var-end=4; var dummy_user=document.getElementByIduser; var actual_user=document.getElementByIdhidden_user; dummy_user.addEventListenerblur,函数{ 实际_user.value=虚拟_user.value; 如果dummy_user.value.length>4{ 开始=2; 结束=虚拟_user.value.length-2; } var-val=; 对于变量i=0;i我将使用虚拟输入来显示。然后在“模糊”上,将值转移到隐藏输入,并更改虚拟对象中的文本。您可能还希望在用户想要更改值的情况下使用相反的方法:在焦点上,将隐藏输入中的值复制到虚拟值。这是一个示例,不需要jQuery,如果输入中的字符少于5个,它将改为所有*s

var start=0; var-end=4; var dummy_user=document.getElementByIduser; var actual_user=document.getElementByIdhidden_user; dummy_user.addEventListenerblur,函数{ 实际_user.value=虚拟_user.value; 如果dummy_user.value.length>4{ 开始=2; 结束=虚拟_user.value.length-2; } var-val=; 对于变量i=0;i据我所知,最接近HTML的方式是一个密码字段,这都是星号。你可以创建一个新的元素来实现这一点,或者使用javascriptI。我已经用javascript@user3658423创建了一个简单的实现。据我所知,最接近HTML的方式是一个密码字段,这都是星号。你可以创建一个新的元素来实现这一点,或者使用javascriptI我已经用javascript@user3658423创建了一个简单的实现谢谢…一些修复,我得到了citicards.com所做的…非常好的解决方案谢谢…一些修复,我得到了citicards.com所做的…非常好的解决方案