分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

js生成十六进制随机数(验证码)

发布时间:2023-09-06 01:47责任编辑:郭大石关键词:js验证码

使用JavaScript也可以生成十六进制随机数,但是稍有些复杂。JavaScript中不能直接将十进制数转为十六进制,需要手动进行转换。首先使用Math.random()函数生成0~15之间的随机数,然后使用Math.ceil()函数将随机数取整,接下来就要逐次判断该值,如果该值大于9,那么将10~15的数一一对应转换为a、b…,一直到f。转换完成后,将值累加,最后传给valcode.php页。

使用JavaScript生成十六进制随机数的完整代码如下:

//生成随机数
???function showval(){ ???????num = ‘‘; ???????for(i=0;i<4;i++){//循环输出四位验证码 ???????????tmp = ?Math.ceil((Math.random() * 15));//取出一位十六进制的整数 ???????????if(tmp > 9){//依次判断随机数 ???????????????switch(tmp){ ???????????????????case(10)://如果随机数等于10,换为a ???????????????????????num += ‘a‘; ???????????????????????break; ???????????????????case(11): ???????????????????????num += ‘b‘;//如果随机数等于11,换为b ???????????????????????break; ???????????????????case(12): ???????????????????????num += ‘c‘;//如果随机数等于12,换为c ???????????????????????break; ???????????????????case(13): ???????????????????????num += ‘d‘;//如果随机数等于13,换为d ???????????????????????break; ???????????????????case(14): ???????????????????????num += ‘e‘;//如果随机数等于14,换为e ???????????????????????break; ???????????????????case(15): ???????????????????????num += ‘f‘;//如果随机数等于15,换为f ???????????????????????break; ???????????????} ???????????}else{ ???????????????num += tmp; ???????????} ???????} ???????$(‘chkid‘).src=‘valcode.php?num=‘+num;//将生成的随机数传给图像生成页 ???????$(‘chknm‘).value = num;//将随机数的值保存到页面的隐藏域中 ???}

 附上图像生成页代码(实现的功能是验证码)

<?php ???header("content-type:image/png"); ???//设置页面编码 ???????????$num = $_GET[‘num‘]; ???????????//获取超级链接传递的随机数 ???$imagewidth=60; ???????????????//定义画布的宽 ???$imageheight=18; ???????????????//定义画布的高 ???$numimage = imagecreate($imagewidth,$imageheight); ???????????//创建画布 ???imagecolorallocate($numimage,240,240,240); ???????????????//设置画布颜色分别是红,绿,黄 ???for($i=0;$i<strlen($num);$i++){ ???????????????????????????//循环读取随机数 ???????$x = mt_rand(1,8)+$imagewidth*$i/4; ???????$y = mt_rand(1,$imageheight/4); ???????$color=imagecolorallocate($numimage,mt_rand(0,150),mt_rand(0,150),mt_rand(0,150)); //定义图像的颜色 ???????imagestring($numimage,5,$x,$y,$num[$i],$color); ???????????//将随机数写入到画布中 ???} ???for($i=0;$i<200;$i++){ ???????????//for循环语句生成干扰线 ?????????$randcolor=imagecolorallocate($numimage,rand(200,255),rand(200,255),rand(200,255)); ???//定义颜色 ?????????imagesetpixel($numimage,rand()%70,rand()%20,$randcolor); ????????//生成干扰线 ???} ???imagepng($numimage); ???????????//生成图像 ???imagedestroy($numimage); ???????????//释放资源?>

js生成十六进制随机数(验证码)

原文地址:https://www.cnblogs.com/aten/p/8683127.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved