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调用Java对象的方法
Oct 09 PHP
php 无限级 SelectTree 类
May 19 PHP
PHP parse_url 一个好用的函数
Oct 03 PHP
php的urlencode()URL编码函数浅析
Aug 09 PHP
PHP rawurlencode与urlencode函数的深入分析
Jun 08 PHP
PHP 获取文件权限函数介绍
Jul 11 PHP
php curl获取网页内容(IPV6下超时)的解决办法
Jul 16 PHP
php配置php-fpm启动参数及配置详解
Nov 04 PHP
php使用反射插入对象示例分享
Mar 11 PHP
php使用GD实现颜色渐变实例
Jun 02 PHP
php 微信开发获取用户信息如何实现
Dec 13 PHP
php设计模式之单例模式用法经典示例分析
Sep 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
Thinkphp模板中截取字符串函数简介
2014/06/17 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
2018/06/13 PHP
Laravel使用RabbitMQ的方法示例
2019/06/18 PHP
laravel 获取当前url的别名方法
2019/10/11 PHP
php使用goto实现自动重启swoole、reactphp、workerman服务的代码
2020/04/13 PHP
textarea中的手动换行处理的jquery代码
2011/02/26 Javascript
JS+CSS实现仿触屏手机拨号盘界面及功能模拟完整实例
2015/05/16 Javascript
JS+CSS实现类似QQ好友及黑名单效果的树型菜单
2015/09/22 Javascript
第四章之BootStrap表单与图片
2016/04/25 Javascript
Bootstrap标签页(Tab)插件使用方法
2017/03/21 Javascript
laravel5.4+vue+element简单搭建的示例代码
2017/08/29 Javascript
前端开发不得不知的10个最佳ES6特性
2017/08/30 Javascript
vue中阻止click事件冒泡,防止触发另一个事件的方法
2018/02/08 Javascript
Vue+Jwt+SpringBoot+Ldap完成登录认证的示例代码
2018/05/21 Javascript
vue的token刷新处理的方法
2018/07/17 Javascript
改变layer confirm弹窗按钮的颜色方法
2019/09/12 Javascript
微信小程序canvas截取任意形状的实现代码
2020/01/13 Javascript
解决vue-router 切换tab标签关闭时缓存问题
2020/07/22 Javascript
详解Python的单元测试
2015/04/28 Python
python将回车作为输入内容的实例
2018/06/23 Python
基于Python实现船舶的MMSI的获取(推荐)
2019/10/21 Python
pandas的相关系数与协方差实例
2019/12/27 Python
tensorflow使用指定gpu的方法
2020/02/04 Python
python中resample函数实现重采样和降采样代码
2020/02/25 Python
Python Opencv 通过轨迹(跟踪)栏实现更改整张图像的背景颜色
2020/03/09 Python
把Anaconda中的环境导入到Pycharm里面的方法步骤
2020/10/30 Python
使用phonegap创建联系人的实现方法
2017/03/30 HTML / CSS
美国男装连锁零售商:Men’s Wearhouse
2016/10/14 全球购物
Lookfantastic俄罗斯:欧洲在线化妆品零售商
2019/08/06 全球购物
通用求职信范文模板分享
2013/12/27 职场文书
先进党支部事迹材料
2014/01/13 职场文书
互联网创业计划书的书写步骤
2014/01/28 职场文书
大学生社会实践评语
2014/04/25 职场文书
泸县召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
Redis中key的过期删除策略和内存淘汰机制
2022/04/12 Redis
讲解Python实例练习逆序输出字符串
2022/05/06 Python