In any case, the password complexity rules are as follows:
- The password length must be greater than or equal to 8
- The password must contain one or more uppercase characters
- The password must contain one or more lowercase characters
- The password must contain one or more numeric values
This is the regex used client side to validate these rules.
This is the actual regular expression that the browser was seeing after transpiling:
There are no typos, the second group is missing the backward slash before the d, while the third group has kept the backslash before the n, I don't understand why this is, but we can ignore this for the purposes of this little tale.
In any case, the intention was this:
The actual expression was this:
So the new guy joins us and he has this issue assigned to him. He clearly struggles to understand the issue, although I make it clear to him that if he gets stuck he should not hesitate to talk to me, but he doesn't. In fact, in the first two days he only asks me about a single issue, which turns out to be a node issue and was actually preventing him from getting started.
In any case, at the end of his second day of work, he submits a pull request and goes offline. I look at the pull request and this is what he came up with:
This is exactly what is required and is far simpler than the original regular expression, while at the same time bypassing any potential escaping issues.
I'll state the obvious, which is:
Sometimes a head on approach is less likely to solve an issue than a side ways approach
If you know why the escaping issue (We're using Aurelia) leave a comment.