首页 > 其他 > 详细

Math.random()实现验证码功能

时间:2021-04-27 14:35:35      阅读:32      评论:0      收藏:0      [点我收藏+]

话不多说先上效果图:

技术分享图片

 

 

 

Html部分:

        <div class="Text">
          <div class="TextTitle">验证码:</div>
          <Input
            v-model="codevalue"
            placeholder="请输入验证码"
            style="width: 100px"
          />
          <div class="CodeBox" @click="GetCode">
            <div class="Code">{{ str }}</div>
          </div>
        </div>

script部分:

data() {
    return {
      str: "",
      codeStr: "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789",
    };
  },
  mounted() {
    this.GetCode();
  },
  methods: {
    //   获取随机数
    getRandom(n, m) {
      // param: (Number, Number)
      n = Number(n);
      m = Number(m);
      // 确保 m 始终大于 n
      if (n > m) {
        var temp = n;
        n = m;
        m = temp;
      }
      return Math.floor(Math.random() * (m - n) + n);
    },
    GetCode() {
      this.str = "";
      for (var i = 0; i < 4; i++) {
        var ran = this.getRandom(0, 62);
        this.str += this.codeStr.charAt(ran);
      }
    },
    Login() {},
  },

由于是文字版的,所有如果不进行处理的话,用户直接复制粘贴验证码就可以了,所以我们需要在css中进行如下处理:

.Code {
  width: 110px;
  margin: 0 auto;
  font-size: 20px;
  letter-spacing: 13px;
  background: linear-gradient(45deg, red, #03a9f4, black);
  background-clip: text;
  cursor: pointer;
  //禁止复制
  user-select: none;
}

简单的一,当然如果你想要的是图形验证码而不是文字版的,建议可以看一下这个大佬的文章

https://juejin.cn/post/6919710203520745486

Math.random()实现验证码功能

原文:https://www.cnblogs.com/beheTea/p/14707616.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!