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 相关文章推荐
fleaphp下不确定的多条件查询的巧妙解决方法
Sep 11 PHP
PHP类的静态(static)方法和静态(static)变量使用介绍
Feb 19 PHP
php 去除html标记--strip_tags与htmlspecialchars的区别详解
Jun 26 PHP
PHP基于数组实现的分页函数实例
Aug 20 PHP
Smarty中常用变量操作符汇总
Oct 27 PHP
PHP的cURL库简介及使用示例
Feb 06 PHP
基于PHP如何把汉字转化为拼音
Dec 11 PHP
总结PHP删除字符串最后一个字符的三种方法
Aug 30 PHP
PHP常见加密函数用法示例【crypt与md5】
Jan 27 PHP
PHP XML Expat解析器知识点总结
Feb 15 PHP
laravel validate 设置为中文的例子(验证提示为中文)
Sep 29 PHP
php实现将数组或对象写入到文件的方法小结【三种方法】
Apr 22 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统计文章排行示例
2014/03/04 PHP
PHP获取用户客户端真实IP的解决方案
2016/10/10 PHP
PHP利用超级全局变量$_POST来接收表单数据的实例
2016/11/05 PHP
php微信公众平台开发(四)回复功能开发
2016/12/06 PHP
ThinkPHP+EasyUI之ComboTree中的会计科目树形菜单实现方法
2017/06/09 PHP
Laravel给生产环境添加监听事件(SQL日志监听)
2017/06/19 PHP
jquery创建一个新的节点对象(自定义结构/内容)的好方法
2013/01/21 Javascript
JavaScript中创建字典对象(dictionary)实例
2015/03/31 Javascript
javascript中返回顶部按钮的实现
2015/05/05 Javascript
js编写一个简单的产品放大效果代码
2016/06/27 Javascript
Nodejs从有门道无门菜鸟起飞必看教程
2016/07/20 NodeJs
vue如何获取点击事件源的方法
2017/08/10 Javascript
React Native中Mobx的使用方法详解
2018/12/04 Javascript
NodeJs实现简单的爬虫功能案例分析
2018/12/05 NodeJs
Nodejs中怎么实现函数的串行执行
2019/03/02 NodeJs
vue 开发之路由配置方法详解
2019/12/02 Javascript
微信小程序实现文件预览
2020/10/22 Javascript
基于element-ui封装表单金额输入框的方法示例
2021/01/06 Javascript
[05:34]2014DOTA2国际邀请赛中国区预选赛精彩TOPPLAY第二弹
2014/06/25 DOTA
[10:18]2018DOTA2国际邀请赛寻真——Fnatic能否笑到最后?
2018/08/14 DOTA
[49:31]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS BO3 第二场 1月29日
2021/03/11 DOTA
Python访问纯真IP数据库脚本分享
2015/06/29 Python
Python简单计算文件夹大小的方法
2015/07/14 Python
对Python通过pypyodbc访问Access数据库的方法详解
2018/10/27 Python
scikit-learn线性回归,多元回归,多项式回归的实现
2019/08/29 Python
如何利用python给图片添加半透明水印
2019/09/06 Python
用python写爬虫简单吗
2020/07/28 Python
关于Python字符编码与二进制不得不说的一些事
2020/10/04 Python
python上下文管理的使用场景实例讲解
2021/03/03 Python
家长会标语
2014/06/24 职场文书
旅游饭店管理专业自荐书
2014/06/28 职场文书
支部书记四风问题自我剖析材料
2014/09/29 职场文书
无婚姻登记记录证明
2015/06/18 职场文书
Python-OpenCV教程之图像的位运算详解
2021/06/21 Python
Sql Server之数据类型详解
2022/02/28 SQL Server
Mysql 8.x 创建用户以及授予权限的操作记录
2022/04/18 MySQL