7 kyu: Regex validate PIN code
這題算很簡單,題目是求PIN碼是否正確,
PIN碼格式需為數字且長度為4或6個字元。
我的寫法如下:
local function validate_pin(pin)
for i = 1, #pin do
local s = pin:sub(i, i)
if nil == tonumber(s) then
return false
end
end
if 4 == #pin or 6 == #pin then
return true
else
return false
end
end
return validate_pin
但是別人用string.match,可以很精簡就解出來了,
如下:
local function validate_pin(pin)
return pin:match("^%d%d%d%d$") ~= nil or pin:match("^%d%d%d%d%d%d$") ~= nil
end
return validate_pin
沒有留言:
張貼留言