PHP封装函数实现生成随机的字符串验证码


Posted in PHP onJanuary 24, 2017

前言

一般情况下我们在做程序的时候肯定会有很多地方使用到随机字符串、比如做验证码用到的、然后就把这个函数封装起来、使用时候要设置2个参数、原理是随机抓取字符串、对字符串进行拼接

$str设置里要被采集的字符串、比如

$str=´jfowef34098094j3204efa234sfg2z23srhftj345xjxjhsrth´;

则在函数里面生成的字符串就回从 $str 里面随机抓取

$codeLen设置要生成的随机字符串、设置5、则生成5个随机字符串、比如

$codeLen=´5´;//设置生成的随机数个数

代码如下

<?php

//mt_rand 获取随机数 mt_rand(min, max);
//设置被随机采集的字符串
$str="abcdefghijkmnpqrstuvwxyz0123456789ABCDEFGHIGKLMNPQRSTUVWXYZ";

//设置生成的随机数个数
$codeLen=´5´;

function str_rand($str,$codeLen){
 $rand="";
 for($i=0; $i<$codeLen-1; $i ){
  //如:随机数为30 则:$str[30]
  $rand .= $str[mt_rand(0, strlen($str)-1)]; 
 }
 return $rand;
}

$code=str_rand($str,$codeLen);
echo $code; 

?>

总结

以上就是完整的生成随机字符串的方法、除了可以用到验证码的地方还可以使用到其它地方,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

PHP 相关文章推荐
关于二级目录拖拽排序的实现(源码示例下载)
Apr 26 PHP
PhpDocumentor 2安装以及生成API文档的方法
May 21 PHP
微信公众号点击菜单即可打开并登录微站的实现方法
Nov 14 PHP
浅谈php正则表达式中的非贪婪模式匹配的使用
Nov 25 PHP
浅析php单例模式
Nov 25 PHP
php读取flash文件高宽帧数背景颜色的方法
Jan 06 PHP
yii2中结合gridview如何使用modal弹窗实例代码详解
Jun 12 PHP
php执行多个存储过程的方法【基于thinkPHP】
Nov 08 PHP
Yii1.1中通过Sql查询进行的分页操作方法
Mar 16 PHP
PHP构造二叉树算法示例
Jun 21 PHP
php微信开发之谷歌测距
Jun 14 PHP
PHP实现chrome表单请求数据转换为接口使用的json数据
Mar 04 PHP
基于yaf框架和uploadify插件,做的一个导入excel文件,查看并保存数据的功能
Jan 24 #PHP
PHP 配置后台登录以及模板引入
Jan 24 #PHP
PHP实现登陆表单提交CSRF及验证码
Jan 24 #PHP
php获取访问者浏览页面的浏览器类型
Jan 23 #PHP
php字符集转换
Jan 23 #PHP
Yii全局函数用法示例
Jan 22 #PHP
PHP5.5安装PHPRedis扩展及连接测试方法
Jan 22 #PHP
You might like
非常不错的MySQL优化的8条经验
2008/03/24 PHP
php使用exec shell命令注入的方法讲解
2013/11/12 PHP
php上传图片到指定位置路径保存到数据库的具体实现
2013/12/30 PHP
php数组转成json格式的方法
2015/03/09 PHP
php自定义urlencode,urldecode函数实例
2015/03/24 PHP
PHP实现简单实用的验证码类
2015/07/29 PHP
学习php设计模式 php实现享元模式(flyweight)
2015/12/07 PHP
PHP简单获取及判断提交来源的方法
2016/04/22 PHP
ThinkPHP框架表单验证操作方法
2017/07/19 PHP
Laravel5框架添加自定义辅助函数的方法
2018/08/01 PHP
PHP的imageTtfText()函数深入详解
2021/03/03 PHP
Javascript操纵Cookie实现购物车程序
2007/02/15 Javascript
常用一些Javascript判断函数
2012/08/14 Javascript
jQuery 无刷新分页实例代码
2013/11/12 Javascript
c#程序员对TypeScript的认识过程
2015/06/19 Javascript
JavaScript ES6的新特性使用新方法定义Class
2016/06/28 Javascript
纯js实现html转pdf的简单实例(推荐)
2017/02/16 Javascript
推荐三款日期选择插件(My97DatePicker、jquery.datepicker、Mobiscroll)
2017/04/21 jQuery
JavaScript之class继承_动力节点Java学院整理
2017/07/03 Javascript
vue-router为激活的路由设置样式操作
2020/07/18 Javascript
nodejs中内置模块fs,path常见的用法说明
2020/11/07 NodeJs
Javascript 模拟mvc实现点餐程序案例详解
2020/12/24 Javascript
Python简单实现阿拉伯数字和罗马数字的互相转换功能示例
2018/04/17 Python
Python处理命令行参数模块optpars用法实例分析
2018/05/31 Python
pytorch模型预测结果与ndarray互转方式
2020/01/15 Python
html5将图片转换成base64的实例代码
2016/09/21 HTML / CSS
Raffaello Network西班牙:意大利拉斐尔时尚购物网
2019/03/12 全球购物
蒂娜商店:Tiina the Store
2019/12/07 全球购物
new修饰符是起什么作用
2015/06/28 面试题
英语专业职业生涯规划范文
2014/03/05 职场文书
倡议书作文
2015/01/19 职场文书
幼师求职自荐信
2015/03/26 职场文书
Nginx中break与last的区别详析
2021/03/31 Servers
pytorch锁死在dataloader(训练时卡死)
2021/05/28 Python
Java集成swagger文档组件
2021/06/28 Java/Android
apache ftpserver搭建ftp服务器
2022/05/20 Servers