Random Strings


Generate random strings with defined char-sets using the Lua internal character classes. Idea from Adrian Sietsma.

local Chars = {}
for Loop = 0, 255 do
 Chars[Loop+1] = string.char(Loop)
end
local String = table.concat(Chars)
local Built = {['.'] = Chars}
local AddLookup = function(CharSet)
 local Substitute = string.gsub(String, '[^'..CharSet..']', '')
 local Lookup = {}
 for Loop = 1, string.len(Substitute) do
 Lookup[Loop] = string.sub(Substitute, Loop, Loop)
 end
 Built[CharSet] = Lookup
 return Lookup
end
function string.random(Length, CharSet)
 -- Length (number)
 -- CharSet (string, optional); e.g. %l%d for lower case letters and digits
 local CharSet = CharSet or '.'
 if CharSet == '' then
 return ''
 else
 local Result = {}
 local Lookup = Built[CharSet] or AddLookup(CharSet)
 local Range = #Lookup
 for Loop = 1,Length do
 Result[Loop] = Lookup[math.random(1, Range)]
 end
 return table.concat(Result)
 end
end

RecentChanges · preferences
edit · history
Last edited November 19, 2016 4:55 pm GMT (diff)

AltStyle によって変換されたページ (->オリジナル) /