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 01 PHP
修改php.ini实现Mysql导入数据库文件最大限制的修改方法
Dec 11 PHP
php中定时计划任务的实现原理
Jan 08 PHP
推荐几个开源的微信开发项目
Dec 28 PHP
php操作xml入门之cdata区段
Jan 23 PHP
简单的php+mysql聊天室实现方法(附源码)
Jan 05 PHP
CodeIgniter控制器之业务逻辑实例分析
Jan 20 PHP
人脸识别测颜值、测脸龄、测相似度微信接口
Apr 07 PHP
PHP生成图像验证码的方法小结(2种方法)
Jul 18 PHP
Django中的cookie与session操作实例代码
Aug 17 PHP
PHP实现数据库统计时间戳按天分组输出数据的方法
Oct 10 PHP
PHP上传图片到数据库并显示的实例代码
Dec 20 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
php删除页面记录 同时刷新页面 删除条件用GET方式获得
2012/01/10 PHP
写一段简单的PHP建立文件夹代码
2015/01/06 PHP
如何利用http协议发布博客园博文评论
2015/08/03 PHP
php生成图片验证码-附五种验证码
2015/08/19 PHP
php实现点击可刷新验证码
2015/11/07 PHP
关于Laravel参数验证的一些疑与惑
2019/11/19 PHP
JavaScript 权威指南(第四版) 读书笔记
2009/08/11 Javascript
爆炸式的JS圆形浮动菜单特效代码
2010/03/03 Javascript
菜鸟javascript基础整理1
2010/12/06 Javascript
js 编程笔记 无名函数
2011/06/28 Javascript
详解jquery uploadify 上传文件
2013/11/09 Javascript
javascript实现字符串反转的方法
2015/02/05 Javascript
jquery实现的仿天猫侧导航tab切换效果
2015/08/24 Javascript
JavaScript精炼之构造函数 Constructor及Constructor属性详解
2015/11/05 Javascript
基于bootstrap风格的弹框插件
2016/12/28 Javascript
JS中解决谷歌浏览器记住密码输入框颜色改变功能
2017/02/13 Javascript
Bootstrap风格的zTree右键菜单
2017/02/17 Javascript
jQuery实现html table行Tr的复制、删除、计算功能
2017/07/10 jQuery
浅谈react受控组件与非受控组件(小结)
2018/02/09 Javascript
vue2.0 路由不显示router-view的解决方法
2018/03/06 Javascript
Vue props 单向数据流的实现
2018/11/06 Javascript
nodejs基础之buffer缓冲区用法分析
2018/12/26 NodeJs
vue之延时刷新实例
2019/11/14 Javascript
微信小程序自定义菜单切换栏tabbar组件代码实例
2019/12/30 Javascript
[20:21]《一刀刀一天》第十六期:TI国际邀请赛正式打响,总奖金超过550万
2014/05/23 DOTA
[03:09]DOTA2亚洲邀请赛 LGD战队出场宣传片
2015/02/07 DOTA
[01:10:16]DOTA2上海特级锦标赛B组资格赛#2 Fnatic VS Spirit第一局
2016/02/27 DOTA
Python程序设计入门(2)变量类型简介
2014/06/16 Python
python 用下标截取字符串的实例
2018/12/25 Python
利用纯html5绘制出来的一款非常漂亮的时钟
2015/01/04 HTML / CSS
俄罗斯一家时尚女装商店:Charuel
2019/12/04 全球购物
介绍一下linux的文件系统
2015/10/06 面试题
党员个人总结自评
2015/02/14 职场文书
餐馆开业致辞
2015/08/01 职场文书
Java使用JMeter进行高并发测试
2021/11/23 Java/Android
Python中的 No Module named ***问题及解决
2022/07/23 Python