參數(shù)1. rnType 表示隨機類型
? ? ? ? ? ? ? ? 1為輸入隨機數(shù)字
? ? ? ? ? ? ? ? 2為隨機手機號
? ? ? ? ? ? ? ? 3為隨機字母
? ? ? ? ? ? ? ? 4為隨機字母/數(shù)字(先字母后數(shù)字)燥翅,一般用于輸用戶名和密碼刨疼,所以字母在前
? ? ? ? ? ? ? ? 5為隨機郵箱
? ? ? ? ? ? ? ? 6為隨機16進制
? ? ? ? ? ? ? ? 7為隨機中文(常用中文字庫到度娘下載吧)
? ? ? 參數(shù)2. rnLen 表示隨機的長度
? ? ? 參數(shù)3. rnUL 表示字母的大小寫。1為大寫撑蚌、2為小寫、其他為不區(qū)分椿猎,默認為不區(qū)分
以上三個參數(shù)制市,用不到的參數(shù)就不用填,用不到的參數(shù)你設置了不會出錯崭倘,但也不會生效。
比如手機號只要一個rnType參數(shù)就行类垫,生成數(shù)字就只要rnType司光、rnLen參數(shù)
如果隨機結(jié)果有字母,且不區(qū)分大小寫的話悉患,也不用rnUL參數(shù)
腳本最后有示例残家,直接調(diào)試下就看出來效果了
---------------------------------------------------------------------
新增加隨機函數(shù),生成通過校驗的蘋果IMEI
可以直接添加到myRand里售躁,比如設成8坞淮,需要用的時候直接myRand(8)調(diào)用
--------------------------------------------------------------------
本帖隱藏的內(nèi)容
[mw_shl_code=php,true]--[[參數(shù)1. rnType 表示隨機類型
? ? ? ? ? ? ? ? 1為輸入隨機數(shù)字
? ? ? ? ? ? ? ? 2為隨機手機號
? ? ? ? ? ? ? ? 3為隨機字母
? ? ? ? ? ? ? ? 4為隨機字母/數(shù)字(先字母后數(shù)字)茴晋,一般用于輸用戶名和密碼,所以字母在前
? ? ? ? ? ? ? ? 5為隨機郵箱
? ? ? ? ? ? ? ? 6為隨機16進制
? ? ? ? ? ? ? ? 7為隨機中文(常用中文字庫到度娘下載吧)
? ? ? 參數(shù)2. rnLen 表示隨機的長度
? ? ? 參數(shù)3. rnUL 表示字母的大小寫回窘。1為大寫诺擅、2為小寫、其他為不區(qū)分毫玖,默認為不區(qū)分
以上三個參數(shù),用不到的參數(shù)就不用填凌盯,用不到的參數(shù)你設置了不會出錯付枫,但也不會生效。
比如手機號只要一個rnType參數(shù)就行驰怎,生成數(shù)字就只要rnType阐滩、rnLen參數(shù)
如果隨機結(jié)果有字母,且不區(qū)分大小寫的話县忌,也不用rnUL參數(shù)
腳本最后有示例掂榔,直接調(diào)試下就看出來效果了
]]
function myRand(rnType,rnLen,rnUL)
? ? ? ? local zmRan,HexRan,myrandS,rns
? ? ? ? rnUL=rnUL or 3
? ? ? ? rns=rns or 0? --用于精確隨機種子
? ? ? ? rns=rns+1
? ? ? ? zmRan={"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"}
? ? ? ? HexRan={"0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","A","B","C","D","E","F"}
? ? ? ? myrandS=""
? ? ? ? math.randomseed(rns..tostring(os.time()):reverse():sub(1, 6))
? ? ? ? if rnType==1 then --生成數(shù)字
? ? ? ? ? ? ? ? myrandS=math.random(9)
? ? ? ? ? ? ? ? for r1=1,rnLen-1 do
? ? ? ? ? ? ? ? ? ? ? ? myrandS=myrandS..math.random(0,9)
? ? ? ? ? ? ? ? end
? ? ? ? elseif rnType==2 then --生成手機號,rnLen,rn11無需設置
? ? ? ? ? ? ? ? local mheader={"13","15"}
? ? ? ? ? ? ? ? myrandS=mheader[math.random(#mheader)]
? ? ? ? ? ? ? ? for r1=1,9 do
? ? ? ? ? ? ? ? ? ? ? ? myrandS=myrandS..math.random(0,9)
? ? ? ? ? ? ? ? end
? ? ? ? elseif rnType==3 then --生成字母
? ? ? ? ? ? ? ? for r1=1,rnLen do
? ? ? ? ? ? ? ? ? ? ? ? myrandS=myrandS..zmRan[math.random(52)]
? ? ? ? ? ? ? ? end
? ? ? ? elseif rnType==4 or rnType==5 then --生成數(shù)字/字母組合或郵箱
? ? ? ? ? ? ? ? local rn3=math.random(2,5)
? ? ? ? ? ? ? ? for r1=1,rn3 do
? ? ? ? ? ? ? ? ? ? ? ? myrandS=myrandS..zmRan[math.random(52)]
? ? ? ? ? ? ? ? end
? ? ? ? ? ? ? ? for r1=1,rnLen-rn3 do
? ? ? ? ? ? ? ? ? ? ? ? myrandS=myrandS..math.random(0,9)
? ? ? ? ? ? ? ? end
? ? ? ? ? ? ? ? if rnType==5 then
? ? ? ? ? ? ? ? ? ? ? ? local mailheader={"@qq.com","@hotmail.com","@sohu.com"} --自行增減
? ? ? ? ? ? ? ? ? ? ? ? myrandS=myrandS..mailheader[math.random(#mailheader)]
? ? ? ? ? ? ? ? end
? ? ? ? elseif rnType==6 then --生成16進制
? ? ? ? ? ? ? ? myrandS=HexRan[math.random(2,22)]
? ? ? ? ? ? ? ? for r1=1,rnLen-1 do
? ? ? ? ? ? ? ? ? ? ? ? myrandS=myrandS..HexRan[math.random(22)]
? ? ? ? ? ? ? ? end
? ? ? ? elseif rnType==7 then --生成中文
? ? ? ? ? ? ? ? if ZW_txt==nil then
? ? ? ? ? ? ? ? ? ? ? ? file_zw=io.open("/User/Media/TouchSprite/plugin/中文字庫.txt","r")
? ? ? ? ? ? ? ? ? ? ? ? ZW_txt=file_zw:read("*all")
? ? ? ? ? ? ? ? end
? ? ? ? ? ? ? ? ZW_txt=ZW_txt or ""
? ? ? ? ? ? ? ? if ZW_txt=="" then return "無字庫" end
? ? ? ? ? ? ? ? for r1=1,rnLen do
? ? ? ? ? ? ? ? ? ? ? ? local aaa=math.random(1,#ZW_txt/3)
? ? ? ? ? ? ? ? ? ? ? ? myrandS=myrandS..string.sub(ZW_txt,aaa*3+1,aaa*3+3)
? ? ? ? ? ? ? ? end
? ? ? ? ? ? ? ? return myrandS
? ? ? ? end
? ? ? ? if rnUL==1 then
? ? ? ? ? ? ? ? return string.upper(myrandS) --返回大寫
? ? ? ? elseif rnUL==2 then
? ? ? ? ? ? ? ? return string.lower(myrandS) --返回小寫
? ? ? ? else
? ? ? ? ? ? ? ? return myrandS
? ? ? ? end
end
print(myRand(1,9))
print(myRand(2))
print(myRand(3,9,1))
print(myRand(4,9,2))
print(myRand(5,9,""))
print(myRand(6,9))
print(myRand(7,9))
[/mw_shl_code]