若干位随机数字字母混合验证码

今天,遇到了一个随机验证码的问题,就顺便说一下这个验证码怎么搞

相信大家应该对随机数不陌生

就是Math里的方法

这里要用到一个知识点 就是利用ASCII码转字符

先附上随机数代码

function suiji (m,n){ var sj = parseInt(Math.random()*(n-m+1)+m); return sj; }

这里是我封装的一个m-n之间的随机数

随机数有了 我们就要用到ASCII码  看图

看图 我们能知道 数字的范围是48-57 大写字母是65-90 小写字母是97-122

所以 我们可以总结出一个条件

num>48&&num<=57 || num>65&&num<=90 || num>=97&&num<=122

得出我们需要随机的范围

然后回用到一句代码  ASCII转字符

String.fromCharCode(num)

这样 我们就可以封装出一个方法了

function yz(){
    var a = "";
    for(i = 0;i < 6; i++){
        var num = suiji(48,122)
        if(num>48&&num<=57 || num>65&&num<=90 || num>=97&&num<=122){
            a += String.fromCharCode(num);
        }else{
            i--
        }
    }
    return a;
}

当然了  这还没完呢

HTML结构

<button class= "btn">换一个</button>
    <input type="text" name="" id="" placeholder="随机数">

JavaScript

var btn = document.querySelector(".btn")
    var txt = document.querySelector("input")
    btn.onclick = function(){
        var txtvalue = yz();
        txt.value = txtvalue;
    }

获取到元素  然后将随机的内容交给input就可以做到了

如果要将随机数放到一个div或span 是  需要将value改成innerHTml

以下为效果图

原文地址:https://www.cnblogs.com/tdtdttd/p/10876932.html

时间: 2024-10-09 10:51:42

若干位随机数字字母混合验证码的相关文章

C# 生成四位数字字母混合验证码

private static void Rand() { var arr = new List<string>(); for (int i = 0; i < 10; i++) { arr.Add(i.ToString()); } for (int i = 65; i < 91; i++) { arr.Add(Encoding.GetEncoding("ASCII").GetString(new byte[] { (byte)i })); } var rnd =

数字字母混合的4位验证码

不管是在app注册.登录里,还是在网页注册里,都会看到验证码:那这个验证码要怎么实现呢?通过js有两种方法可以达到这样的效果,下面代码奉上哦! 方法一:这个方法比较好理解,首先定义一个数组,将会产生的字母,数值都放进去:有4位就循环4次,每循环一次产生一个随机结果,将每次的结果累加起来存入想要放的位置. 1 var arr=['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', '

【Teradata SQL】从中文数字字母混合字符串中只提取数字regexp_substr

目标:从中文数字字母的字符串中只提取数字 sel regexp_substr('mint choc中文11国1','\d+') 原文地址:https://www.cnblogs.com/badboy200800/p/10792095.html

获得N位数字字母随机组合

import string import random def get_rand(n): allw = string.letters+string.digits r = [] for i in range(n): r.append(random.choice(allw)) return ''.join(r) for i in range(4): print get_rand(8) 获得N位数字字母随机组合

利用random生成6位随机验证码

使用random生成6位随机验证码 #!/usr/bin/env python # _*_ coding:utf-8 _*_ import random code = [] for i in range(6):     #可在此处改变条件表达式来调整生成数字的机率     if i == random.randint(0,5):         # 如果随机数与0-5中的随机数相等,生成数字验证码        code.append(str(random.randint(0,9)))     

生成随机的18位十六进制数字

这里的for循环之所以条件小于2,是为了增加十六进制数据的复杂度 至于生成多少个十六进制的数字,根据所需 拼接的结果字符串有点瑕疵,使用的时候手动处理去掉最后一个逗号","即可.     /**      * 生成随机的18位      * 十六进制数字      */     function random ()     {         $arr = array();         $str = 1;         while($str <= 18)         {

生成随机字母字符串(数字字母混和)

1.生成随机字母字符串(数字字母混和) /// 生成随机字母字符串(数字字母混和) /// /// 待生成的位数 /// 生成的字母字符串 private string GenerateCheckCode(int codeCount) { int rep = 0; string str = string.Empty; long num2 = DateTime.Now.Ticks + rep; rep++; Random random = new Random(((int)(((ulong)num

javascript 自己实现数字\字母和中文的混合排序方法 by FungLeo

javascript 自己实现数字\字母和中文的混合排序方法(纯粹研究,不实用) 前言 在上一篇博文<javascript 数组排序sort方法和自我实现排序方法的学习小结>中,我用自己的方法实现了数字数组的排序. 当然,实际运用中,我还是会使用sort方法更加方便.但是,我上一篇博文,仅仅是实现了数字排序,而srot方法默认可是能给字母实现排序的哦!而我的代码只能排序数字,看起来还是弱弱的. 所以,我得加上能排字母甚至中文的排序方法. 实现代码 $(function(){ var arr =

用js正则判断输入的两位字符,第一位是数字16进制的,第二位是I、O、Q、U除外的字母(A到Z)

项目中遇到客户的需求变化,要验证某个数据的正确性,判断输入的两位字符,第一位是数字16进制的,第二位是I.O.Q.U除外的字母(A到Z). 本来对js不熟练,网上参考了一下js正则验证的规则,使用正则表达式完成了这个验证. 1 function check() { 2 var str = document.getElementById("txtEnglishName").value; 3 var reg=/^[0-9a-fA-F][^IOQU]$/; 4 if (str.length!