Set a boundary for the regular expression pattern #3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
If the boundary is not set, a user can enter a longer kennitala, and just as long as the check digit is at the right location from the end of the string, the kennitala is valid.
Example:
This kennitala is valid without this fix: 28129420229.
It's obviously not valid, beacuse it is 11 digits. But since the regular expression is fine with matching the first 10 characters, and then just checking the check digit at the
[-1]
location, it passes as valid.With this fix, this kennitala would not pass the boundary check, i.e. it must be 6+4 characters (optional hyphen) and then a boundary, e.g. end of the string.