php随机生成验证码,php随机生成数字,php随机生成数字加字母!


Posted in PHP onApril 01, 2021
<?php
/*
 * 方法类
 * */
class functions
{
    /**
     * PHP随机生成验证码函数
     *
     * @param array
     * @return  mixed
     */
    function randCode($params = [])
    {
        $num = $params['num'] ?? 4; //验证码个数
        $isLetter = $params['isLetter'] ? $params['isLetter'] : 1; //1是纯数字 2是字母和数字的组合

        if($isLetter==1){
            for($i=1;$i<=$num;$i++){
                $codeMin.=0;
                $codeMax.=9;
            }
            return rand($codeMin,$codeMax);
        }

        if($isLetter==2){
            //如果想调整权重,自己可以根据需求修改$codeArr这个一位数组
            $codeArr = ['1','2','3','4','5','6','7','8','9','0','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','e','s','t','u','v','w','x','y','z','1','2','3','4','5','6','7','8','9','0'];
            $codeKeys = array_rand($codeArr,$num);
            shuffle($codeKeys);
            foreach ($codeKeys as $codeValue){
                $codeStr .= $codeArr[$codeValue];
            }
            return $codeStr;
        }
    }
}

//测试生成验证码方法
$re = (new functions())->randCode([
    'num'      => 6, //需要的个数
    'isLetter' => 2, //1是纯数字 2是数字加字符串
]);
print_r($re);

 

PHP 相关文章推荐
PHP安装问题
Oct 09 PHP
PHP 获取远程文件内容的函数代码
Mar 24 PHP
PHP模块 Memcached功能多于Memcache
Jun 14 PHP
关于PHPDocument 代码注释规范的总结
Jun 25 PHP
解决PHP里大量数据循环时内存耗尽的方法
Oct 10 PHP
php获取当前url地址的方法小结
Jan 10 PHP
解决PHP 7编译安装错误:cannot stat ‘phar.phar’: No such file or directory
Feb 25 PHP
PHP实现基于面向对象的mysqli扩展库增删改查操作工具类
Jul 18 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
Jul 20 PHP
php使用array_chunk函数将一个数组分割成多个数组
Dec 05 PHP
简单实用的PHP文本缓存类实例
Mar 22 PHP
TP3.2.3框架文件上传操作实例详解
Jan 23 PHP
phpQuery解析HTML乱码问题(补充官网未列出的乱码解决方案)
Apr 01 #PHP
PHP控制循环操作的时间
Apr 01 #PHP
php字符串倒叙
Apr 01 #PHP
Memcached介绍及php-memcache扩展安装
PHP策略模式写法
Apr 01 #PHP
php中pcntl_fork详解
Apr 01 #PHP
php 解析非标准json、非规范json
Apr 01 #PHP
You might like
php 将bmp图片转为jpg等其他任意格式的图片
2009/06/29 PHP
php多文件上传实现代码
2014/02/20 PHP
PHP中使用Imagick读取pdf并生成png缩略图实例
2015/01/21 PHP
常用PHP数组排序函数归纳
2016/08/08 PHP
javascript编程起步(第五课)
2007/01/10 Javascript
js CSS操作方法集合
2008/10/31 Javascript
Javascript 代码也可以变得优美的实现方法
2009/06/22 Javascript
Mootools 1.2教程 设置和获取样式表属性
2009/09/15 Javascript
js对象的比较
2011/02/26 Javascript
关于jQuery的inArray 方法介绍
2011/10/08 Javascript
jcrop基本参数一览
2013/07/16 Javascript
在js文件中写el表达式取不到值的原因及解决方法
2013/12/23 Javascript
jquery中获得元素尺寸和坐标的方法整理
2014/05/18 Javascript
AngularJS实现分页显示数据库信息
2016/07/01 Javascript
jquery实现tab键进行选择后enter键触发click行为
2017/03/29 jQuery
nodejs multer实现文件上传与下载
2017/05/10 NodeJs
AngularJS自定义指令详解(有分页插件代码)
2017/06/12 Javascript
webpack教程之webpack.config.js配置文件
2017/07/05 Javascript
vue-cli项目中使用公用的提示弹层tips或加载loading组件实例详解
2018/05/28 Javascript
Spring boot 和Vue开发中CORS跨域问题解决
2018/09/05 Javascript
node 文件上传接口的转发的实现
2019/09/23 Javascript
在CMD命令行中运行python脚本的方法
2018/05/12 Python
在python中安装basemap的教程
2018/09/20 Python
pyinstaller打包opencv和numpy程序运行错误解决
2019/08/16 Python
Python的对象传递与Copy函数使用详解
2019/12/26 Python
Ubuntu权限不足无法创建文件夹解决方案
2020/11/14 Python
用HTML5 实现橡皮擦的涂抹效果的教程
2015/05/11 HTML / CSS
巴西美妆购物网站:Kutiz Beauté
2019/03/13 全球购物
OLEDBConnection和SQLConnection有什么区别
2013/05/31 面试题
物业经理求职自我评价
2013/09/22 职场文书
机械设计制造专业个人求职信
2013/09/25 职场文书
自荐信格式
2013/12/01 职场文书
材料会计岗位职责
2014/03/06 职场文书
三严三实对照检查材料范文
2014/09/23 职场文书
HTML+CSS制作心跳特效的实现
2021/05/26 HTML / CSS
python数字图像处理:图像的绘制
2022/06/28 Python