六位随机数字字母验证码

效果图

html部分

<body>
    <input type="text" id="ipt"/>
    <div id="box" οnclick="reset()"></div>
</body>
<style>
    #box{
        width:180px;
        height: 50px; 
        text-align: center;
        border:1px solid #ccc;
        cursor: pointer;
        background:linear-gradient(to top,#0072e5,#3f9efe)
    }
    #box span{
        display: inline-block;
        font-size: 26px;
        width:16px;
        height: 50px;
        line-height: 50px;
        font-family: "microsoft yahei";
        -webkit-text-stroke: 1px #ccc;
    }
</style>
<script>
    //验证码  6位数的验证码
    function authCode(){
        var str = '';
        while(str.length<6){
            var num = random1Num(48,122)        
            if((num>57&&num<65)||(num>90&&num<97)){
                num = random1Num(48,122)
            }else{
                str += '' + String.fromCharCode(num)
            }           
        }
        return str
    }
    //随机数 n小于m
    function random1Num(n,m){
        return parseInt(n+Math.random()*(m-n+1));
    }
    //随机颜色
    function randomColor(){
        var R = random1Num(0,255)
        var G = random1Num(0,255)
        var B = random1Num(0,255)
        return "#"+string2Num(R,G,B) 
    }
    //转换为16进制不足补0
    function string2Num(r,g,b){
        r = r.toString(16).length<2?"0"+r.toString(16):r.toString(16);
        g = g.toString(16).length<2?"0"+g.toString(16):g.toString(16);
        b = b.toString(16).length<2?"0"+b.toString(16):b.toString(16);
        return r+g+b;
    }
  
    var code = authCode()
    // $("#box").text(code)
    //将字符串转成数组
    var arrcode = code.split('')
    //将数组放进单个的span标签中
    for(var i = 0;i < arrcode.length;i++){
        $("#box").append('<span>'+arrcode[i]+'</span>')
        $("span:nth-child("+ (i+1) +")").css({
            "color":randomColor(),
            "transform":"rotate("+random1Num(-30,30) +"deg)",
            "fontSize":""+ random1Num(24,36) +"px",
            "marginTop":""+ random1Num(-3,3) +"px",
            "marginLeft":""+ random1Num(-2,6) +"px",
            "marginRight":""+ random1Num(-2,8) +"px"
        })
    }   
    //点击生成新的验证码
    function reset(){
        //清除原有的数据
        $("#box span").remove()
        $("#ipt").val("")
        //重新生成验证码
        code = authCode() 
            arrcode = code.split('')
        for(var i = 0;i<arrcode.length;i++){
            $("#box").append('<span>'+arrcode[i]+'</span>')
            $("span:nth-child("+ (i+1) +")").css({
            "color":randomColor(),
            "transform":"rotate("+random1Num(-30,30) +"deg)",
            "fontSize":""+ random1Num(24,36) +"px",
            "marginTop":""+ random1Num(-3,3) +"px",
            "marginLeft":""+ random1Num(-2,6) +"px",
            "marginRight":""+ random1Num(-2,8) +"px",

        })
        } 
    }

    //校验
    $("#ipt").on("blur",function(){
        //都转成小写,即不区分大小写
        if($("#ipt").val() != ""){
            if($("#ipt").val().toLowerCase() == code.toLowerCase()){
            alert("验证码输入正确!")
            }else{
                alert("验证码输入错误!")
            } 
        }
    })



</script>
博客园地址: http://www.cnblogs.com/wong-do/


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值