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 相关文章推荐
PHP5.3.1 不再支持ISAPI
Jan 08 PHP
基于在生产环境中使用php性能测试工具xhprof的详解
Jun 03 PHP
基于PHP CURL用法的深入分析
Jun 09 PHP
php输入流php://input使用示例(php发送图片流到服务器)
Dec 25 PHP
thinkphp实现面包屑导航(当前位置)例子分享
May 10 PHP
php中有关合并某一字段键值相同的数组合并的改进
Mar 10 PHP
10款实用的PHP开源工具
Oct 23 PHP
PHP实现将多个文件中的内容合并为新文件的方法示例
Jun 10 PHP
使用 laravel sms 构建短信验证码发送校验功能
Nov 06 PHP
零基础php编程好学吗
Oct 11 PHP
Laravel 微信小程序后端搭建步骤详解
Nov 26 PHP
基于PHP实现用户在线状态检测
Nov 10 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的substr_replace将指定两位置之间的字符替换为*号
2011/05/04 PHP
php简单计算权重的方法示例【适合抽奖类应用】
2019/06/10 PHP
thinkPHP和onethink微信支付插件分享
2019/08/11 PHP
非阻塞动态加载javascript广告实现代码
2010/11/17 Javascript
再论Javascript的类继承
2011/03/05 Javascript
比较不错的JS/JQuery显示或隐藏文本的方法
2014/02/13 Javascript
JavaScript数组Array对象增加和删除元素方法总结
2015/01/20 Javascript
Jquery中$.post和$.ajax的用法小结
2015/04/28 Javascript
JS实现淘宝支付宝网站的控制台菜单效果
2015/09/28 Javascript
JavaScript代码性能优化总结篇
2016/05/15 Javascript
jQuery实现的兼容性浮动层示例
2016/08/02 Javascript
D3.js实现直方图的方法详解
2016/09/25 Javascript
jQuery实现表格元素动态创建功能
2017/01/09 Javascript
nodejs中art-template模板语法的引入及冲突解决方案
2017/11/07 NodeJs
深入理解Vue官方文档梳理之全局API
2017/11/22 Javascript
JavaScript中发出HTTP请求最常用的方法
2018/07/12 Javascript
关于JavaScript中高阶函数的魅力详解
2018/09/07 Javascript
JavaScript创建对象的四种常用模式实例分析
2019/01/11 Javascript
Vue源码解析之数据响应系统的使用
2019/04/24 Javascript
通过javascript实现段落的收缩与展开
2019/06/26 Javascript
element实现合并单元格通用方法
2019/11/13 Javascript
python的构建工具setup.py的方法使用示例
2017/10/23 Python
Python实现pdf文档转txt的方法示例
2018/01/19 Python
python用fsolve、leastsq对非线性方程组求解
2018/12/15 Python
详解Python中的正斜杠与反斜杠
2019/08/09 Python
Python迭代器Iterable判断方法解析
2020/03/16 Python
欧迪办公美国官网:Office Depot
2016/08/22 全球购物
Carrs Silver官网:英国著名的银器品牌
2020/08/29 全球购物
降消项目实施方案
2014/03/30 职场文书
竞选村长演讲稿
2014/04/28 职场文书
中职毕业生自我鉴定范文(3篇)
2014/09/28 职场文书
党的群众路线教育实践活动自我剖析材料
2014/10/08 职场文书
2015元旦主持词开场白和结束语
2014/12/14 职场文书
离婚承诺书格式范文
2015/05/04 职场文书
人民币使用说明书
2019/04/17 职场文书
golang协程池模拟实现群发邮件功能
2021/05/02 Golang