Как подтвердить пароль в reactjs? - PullRequest
0 голосов
/ 09 мая 2020

Я хочу получить хотя бы 1 нижний регистр, хотя бы 1 прописную букву, хотя бы 1 цифру, еще 1 и пароль должен содержать менее 8 символов.

Вот мой код проверки:

const strongRegex = new RegExp("^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#\$%\^&\*])(?=.{8,})");

strongRegex.test("Abd1$bas") // true it works fine 
strongRegex.test("Abd1$bass") // Here is 9 characters , currently: true .

сейчас, если символов больше 8, это дает мне истину, но я не понимаю. Мой вопрос в том, что если символов больше, чем 8 тогда это дает мне ложь.

1 Ответ

0 голосов
/ 09 мая 2020

Последнее утверждение является положительным прогнозом (?=.{8,}) и проверяет, есть ли справа более 8 символов.

В вашем случае вы хотите подтвердить, что справа не 9 символов, для который вы можете использовать отрицательный просмотр вперед (?!.{9})

Regex demo

const strongRegex = new RegExp("^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%^&*])(?!.{9})");

console.log(strongRegex.test("Abd1$bas"))
console.log(strongRegex.test("Abd1$bass"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...