js和php中几种生成验证码的方式
之前做过取随机数和生成验证码的练习,都是通过取随机数作为数组下标,然后从数组中取值的方式(js):
1 /*验证码*/ 2 function sj_yzm(){ 3 //存一个包括数字和字母的数组 4 var zongArr = ['a','b','c','d','e','f','g','H','I','G','K','L','M','N','0','1','2','3','4','5','6','7','8','9']; 5 //定义一个用来存放验证码的数组 6 var yzmArr = []; 7 //找到验证码显示框 8 var yzm = document.getElementsByClassName('yzm_sj')[0]; 9 //生成四个随机数从zongArr挑出数字并为验证码数组赋值 10 for(var i = 0; i < 4; i++){ 11 var sjs =parseInt(Math.random()*24); 12 yzmArr[i] = zongArr[sjs]; 13 } 14 //将验证码数组遍历,拼接为字符串,输出 15 var each = ''; 16 for(var j = 0; j < yzmArr.length; j++){ 17 each += yzmArr[j]; 18 } 19 yzm.innerHTML = each; 20 }
在php中还有其他几种方便好用的方法:
1.取当前时间戳,用md5加密,取值
1 view plain copy 2 3 function get_password( $length = 8 ) 4 { 5 $str = substr(md5(time()), 0, $length);//md5加密,time()当前时间戳 6 return $str; 7 }
2.用mt_rand():
1 function GetRandStr($length){ 2 $str='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; 3 $len=strlen($str)-1; 4 $randstr=''; 5 for($i=0;$i<$length;$i++){ 6 $num=mt_rand(0,$len); 7 $randstr .= $str[$num]; 8 } 9 return $randstr; 10 } 11 $number=GetRandStr(6); 12 echo $number;
3.打乱字符串取值:
1 function getrandstr(){ 2 $str='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890'; 3 $randStr = str_shuffle($str);//打乱字符串 4 $rands= substr($randStr,0,6);//substr(string,start,length);返回字符串的一部分 5 return $rands; 6 }
转载于:https://www.cnblogs.com/flypea93/p/9207502.html
js和php中几种生成验证码的方式相关推荐
- 几种生成验证码的方式以及计算表达式的计算
kaptcha 数字字母形式验证码 google kaptcha验证码生成器且可以配置生成的验证码格式 引入依赖: <dependency><groupId>com.githu ...
- python创建对象_对Python中9种生成新对象的方法总结
先定义一个类: class Point: def __init__(self, x, y): self.x = x self.y = y 下面我们使用9种方法来生成新的对象: point1 = Poi ...
- zynq学习03 zynq中三种实现GPIO的方式
http://m.blog.csdn.net/article/details?id=52123465 http://blog.chinaaet.com/songhuangong/p/43084 本文介 ...
- 基于ArcGIS JS API实现的两种距离和面积测量方式
文章目录 前言 开发思路 主要代码 效果测试 效果图 测试页面 开发总结 参考链接 前言 在一些地图地图应用中,距离.面积测量属于基础功能.ArcGIS API for JavaScript有单独提供 ...
- python中导入模块的方式_Python中几种导入模块的方式总结
模块内部封装了很多实用的功能,有时在模块外部调用就需要将其导入.常见的方式有如下几种: 1 . import >>> import sys >>> sys.path ...
- Spring RestTemplate中几种常见的请求方式GET请求 POST请求 PUT请求 DELETE请求
Spring RestTemplate中几种常见的请求方式 原文地址: https://blog.csdn.net/u012702547/article/details/77917939 版权声明:本 ...
- python导入模块有几种_Python中几种导入模块的方式总结
模块内部封装了很多实用的功能,有时在模块外部调用就需要将其导入.常见的方式有如下几种: 1 . import >>> import sys >>> sys.path ...
- Python中三种表示NA的方式
Python中三种表示NA的方式 # -*- coding: utf-8 -*- import numpy as np import pandas as pd# data_frame = np.loa ...
- java获取项目中的路径_java中几种获取项目路径方式
转自http://caodaoxi.iteye.com/blog/1234805 在jsp和class文件中调用的相对路径不同. 在jsp里,根目录是WebRoot 在class文件中,根目录是Web ...
最新文章
- python模块之image修改图片类型
- 「压缩」会是机器学习的下一个杀手级应用吗?
- linux 系统 RRDTool安装方法
- Java Review - 并发编程_StampedLock锁探究
- 【JUC系列】Future异步回调模式
- Redis笔记之基本数据结构 字典
- 选择GPU服务器的五大基本原则
- stl之set集合容器应用基础
- 全国所有省份行政区域名标准(全国省份2字母拼音缩写标准参考)
- 中兴 F607 光猫超级管理用户查看
- 『地铁交换机作用』地铁交换机用哪个国家的
- 网页与服务器时间不一致,js解决客户端与服务器时间不一致的问题
- 无法使用内置管理员账户打开应用
- 【总结】1334- JS中Object的keys是无序的吗
- 宽窄依赖以及shuffle的部分源码理解
- 高德地图只显示部分区域
- 移动硬盘提示磁盘结构损坏且无法读取怎么办
- java毕业生设计车辆调度管理系统计算机源码+系统+mysql+调试部署+lw
- 防疫主题的微信公众号图文排版有哪些技巧?
- iPhone用android充电头,苹果能用安卓充电头吗