zoukankan      html  css  js  c++  java
  • js实现密码延迟变为星号

    偶然发现有些网站在用户登陆时,在输入密码的过程中先看到输入的密码,延迟后再变成密文,很好奇,所以捣鼓了一下。

    明文延迟转密文

    以下为代码:(延迟后变成*号)

    //js实现输入密码后,先显示当前输入的一位密码,然后再变成星号
    <input class="ipt" type="text">
    
    <script src="./js/jquery-2.2.4.min.js"></script>
    <script>
      var str=""; //用于保存正确密码
      var val;
      $(".ipt").on("keyup",function() {
        this.value=this.value.replace(/s/,"");  //不允许输入空格,可设置为其他正则
        var val = this.value;
        if (val.length > str.length) {
          str+=val.substr(-1);  //取最后一位(未变成*前的数字)保存到str
        }
        this.value = val.replace(/./g, "*")
      })
    </script>
    

    切换显示和隐藏

    补充下常用的密码显示/隐藏的方法,即点击按钮可切换密码的显示或隐藏(显示为圆点样式的密码)。
    以下为代码:

    <input class="ipt" type="text">
    <button>按钮</button>
    <div class="square"></div>
    
    <script src="./js/jquery-2.2.4.min.js"></script>
    <script>
      var flag=1;
      $("button").on("click",function() {
      if(flag) {
        $(".ipt").attr("type","password");
        $(".square").css("background-color","gray");  //这里可切换为修改img的src(显示或隐藏密码的小眼睛)
        flag=0;
      }else{
        $(".ipt").attr("type","text");
        $(".square").css("background-color","green");
        flag=1;
      }
    })
    

    问题

    使用keyup来监听事件,并不能阻止用户复制粘贴密码到输入框,这时就不能及时替换为*号,期待更完美的方法。
    后续补充……

  • 相关阅读:
    6.Dump域内用户Hash姿势集合
    4.浅谈跨域劫持
    7. Smali基础语法总结
    7.linux安全基线加固
    12. git常用语法总结
    5.内网渗透之PTH&PTT&PTK
    4. 内网渗透之IPC$入侵
    1.我所了解的内网渗透
    34.不安全的HTTP
    2.内网渗透之端口转发
  • 原文地址:https://www.cnblogs.com/ZerlinM/p/13532998.html
Copyright © 2011-2022 走看看