Write a function named validPasswords
that examines a list of passwords and password policies and returns how many of the passwords are acceptable by those policies.
Your function accepts a string parameter representing a file name as a parameter.
Each line of the file contains a policy followed by a password.
A policy is of the form MIN-MAX LETTER
indicating that the given letter must occur MIN
to MAX
number of times in the password, inclusive.
For example, if the file named passwords.txt
contains the following values:
1-3 a: abcde
1-3 b: cdefg
2-9 c: ccccccccc
For example, 1-3 a
means that the password must contain a at least 1 time and at most 3 times.
In the above example, 2 passwords are valid.
The middle password, cdefg
, is not; it contains no instances of b
, but needs at least 1
.
The first and third passwords are valid: they contain one a
or nine c
, both within the limits of their respective policies.
So the call of validPasswords("passwords.txt")
should return 2
.
You may assume that the file exists and is readable and that it follows the format described above.
NOTE: You can read the entire contents of a file as a string by calling fs.readFileSync(filename)
.