• 随机数生成


    /**
    * @desc 生成随机邀请码
    * 规则:两位随机大写字母+4位随机数字;字母与数字,需排除:英文字母I(大写 i)、英文字母O(大写 o)、数字1、数字0 这4种情况;
    */
    function GetRandWithPhoneNew($mobile,$leng,$tablename,$prefiel,$count)
    {
    $code=$this->getCode(2,3).$this->getCode(4,1);
    //判断编号是否被占用
    $table_m = M($tablename);
    $rowcount = $table_m->where('invitation_code="' . $code . '"')->count();
    if ($rowcount > 0) {
    $count++;
    $code = $this->GetRandWithPhoneNew($mobile,$leng,$tablename,$prefiel,$count);
    }
    return $code;
    }
    /* 作用:取得随机字符串
    * 参数:
    1、(int)$length = 32 #随机字符长度
    2、(int)$mode = 0 #随机字符类型,
    0为大小写英文和数字,1为数字,2为小写字母,3为大写字母,
    4为大小写字母,5为大写字母和数字,6为小写字母和数字
    * 返回:取得的字符串
    */
    
    function getCode($length = 32, $mode = 0) {//获取随机验证码函数
    switch ($mode) {
    case '1':
    $str = '23456789';
    break;
    case '2':
    $str = 'abcdefghijklmnopqrstuvwxyz';
    break;
    case '3':
    $str = 'ABCDEFGHJKLMNPQRSTUVWXYZ';
    break;
    case '4':
    $str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
    break;
    case '5':
    $str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
    break;
    case '6':
    $str = 'abcdefghijklmnopqrstuvwxyz1234567890';
    break;
    default:
    $str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890';
    break;
    }
    $checkstr = '';
    $len = strlen($str) - 1;
    for ($i = 0; $i < $length; $i++) {
    //$num=rand(0,$len);//产生一个0到$len之间的随机数
    $num = mt_rand(0, $len); //产生一个0到$len之间的随机数
    $checkstr.=$str[$num];
    }
    return $checkstr;
    }
  • 相关阅读:
    发明专利授权容易吗?
    No module named 'PyQt5.QtWebEngineWidgets' 解决方法
    Python可视化界面编程入门
    Python用户界面编程PyQt5的四种的布局方式
    cmd进入任何一个文件夹的步骤?
    cmd如何进入和退出Python编程环境?
    《C++ Primer Plus》16.3 标准模板库 学习笔记
    《C++ Primer Plus》16.2 智能指针模板类
    《C++ Primer Plus》16.1 string类 学习笔记
    Python错误和异常 学习笔记
  • 原文地址:https://www.cnblogs.com/ws1992/p/9390432.html
Copyright © 2020-2023  润新知