使用PHP函数写验证码截取一些字符串

来源:互联网 发布:淘宝网情侣装dongji 编辑:程序博客网 时间:2024/06/05 14:36
//获取任意长度的随机字符串
function getRandStr($type=1,$length=4,$text='书山有路勤为径学海无涯苦作舟'){
    //创建一个字符串
    switch($type){
        case 1:
            $str=join('',range(0,9));  //纯数字
            break;
        case 2:
            $str=join('',range('a','z'));  //纯小写字母
            break;
        case 3:
            $str=join('',range('A','Z')); //纯大写字母
            break;
        case 4:
            $str=join('',array_merge(range('a','z'),range('A','Z')));  //大小字母混合
            break;
        case 5:
            $str=join('',array_merge(range('a','z'),range('A','Z'),range(0,9)));  //大小字母和数字混合
            break;
        case 6:
            $strlen=mb_strlen($text)/3;
            //$str=mb_substr($text,mt_rand(0,$strlen-$length-1),$length,'utf-8');
            $str='';
            for($i=0;$i<$length;$i++){
                $str.=mb_substr($text,mt_rand(0,$strlen-1),1,'utf-8');
            }
            return $str;
    }
    //每次执行函数时随机打乱这个字符串
    $str=str_shuffle($str);
    //从字符串截取4个字符
    return mb_substr($str,0,$length,'utf-8');
}


//echo getRandStr(6);