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 相关文章推荐
《PHP边学边教》(01.开篇――准备工作)
Dec 13 PHP
div li的多行多列 无刷新分页示例代码
Oct 16 PHP
php中使用getimagesize获取图片、flash等文件的尺寸信息实例
Apr 29 PHP
php实现与erlang的二进制通讯实例解析
Jul 23 PHP
PHP常用数组函数介绍
Jul 28 PHP
php中json_encode UTF-8中文乱码的更好解决方法
Sep 28 PHP
php实现简单的语法高亮函数实例分析
Apr 27 PHP
在Win2003(64位)中配置IIS6+PHP5.2.17+MySQL5.5的运行环境
Apr 04 PHP
PHP 以POST方式提交XML、获取XML,解析XML详解及实例
Oct 26 PHP
Yii框架日志记录Logging操作示例
Jul 12 PHP
PHP实现非阻塞模式的方法分析
Jul 26 PHP
PHP的mysqli_rollback()函数讲解
Jan 23 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 静态属性和静态方法区别详解
2017/04/09 PHP
Javascript下的keyCode键码值表
2007/04/10 Javascript
bgsound 背景音乐 的一些常用方法及特殊用法小结
2010/05/11 Javascript
JS分割字符串并放入数组的函数
2011/07/04 Javascript
jquery中$(#form :input)与$(#form input)的区别
2014/08/18 Javascript
jquery处理页面弹出层查询数据等待操作实例
2015/03/25 Javascript
JavaScript判断手机号运营商是移动、联通、电信还是其他(代码简单)
2015/09/25 Javascript
一步一步封装自己的HtmlHelper组件BootstrapHelper(三)
2016/09/14 Javascript
Bootstrap在线电子商务网站实战项目5
2016/10/14 Javascript
BootStrap Tooltip插件源码解析
2016/12/27 Javascript
js实现关闭网页出现是否离开提示
2017/12/07 Javascript
vue router+vuex实现首页登录验证判断逻辑
2018/05/17 Javascript
vue-music 使用better-scroll遇到轮播图不能自动轮播问题
2018/12/03 Javascript
微信小程序如何实现点击图片放大功能
2020/01/21 Javascript
React中Ref 的使用方法详解
2020/04/28 Javascript
Vue 简单实现前端权限控制的示例
2020/12/25 Vue.js
[46:40]VGJ.T vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
跟老齐学Python之永远强大的函数
2014/09/14 Python
Python3 正在毁灭 Python的原因分析
2014/11/28 Python
pandas中DataFrame修改index、columns名的方法示例
2019/08/02 Python
python 并发编程 多路复用IO模型详解
2019/08/20 Python
python getpass模块用法及实例详解
2019/10/07 Python
Python用5行代码实现批量抠图的示例代码
2020/04/14 Python
快速解决jupyter notebook启动需要密码的问题
2020/04/21 Python
Win10用vscode打开anaconda环境中的python出错问题的解决
2020/05/25 Python
PyCharm2019.3永久激活破解详细图文教程,亲测可用(不定期更新)
2020/10/29 Python
米兰网婚纱礼服法国网上商店:Milanoo法国
2016/08/20 全球购物
英国航空官网:British Airways
2016/09/11 全球购物
英文版网络工程师求职信
2013/10/28 职场文书
技术经理的自我评价范文
2013/12/03 职场文书
《伯牙绝弦》教学反思
2014/03/02 职场文书
学校安全管理责任书
2014/07/23 职场文书
学校消防安全责任书
2014/07/23 职场文书
节水倡议书
2015/01/19 职场文书
小程序实现筛子抽奖
2021/05/26 Javascript
Java GUI编程菜单组件实例详解
2022/04/07 Java/Android