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

  • 相关阅读:
    记录一下周末作业
    超链接的 使用和按钮添加
    学习了网页设置上传视频
    Java-JDK安装及环境变量配置
    java-库存管理案例
    java-DateFormat
    java-正则表达式练习
    java-StringBuffer类
    java面对对象-匿名对象
    java static和final关键字
  • 原文地址:https://www.cnblogs.com/ZerlinM/p/13532998.html
Copyright © 2011-2022 走看看