Как сломать проверки правильности в Angular7? - PullRequest
0 голосов
/ 20 мая 2019

У меня есть ввод, который я должен визуально отобразить, чтобы пользователь выполнил несколько требований с помощью значков.

Регулярное выражение, которое я использую:

'^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])[a-zA-Z0-9]+$'

Но мне нужно показать, что пользователь ввел одно число, один буквенный символ, без пробелов до или после строки и имеет 4 разных символа. Когда пользователь полностью выполнит одно из вышеуказанных требований, значок индикатора рядом с этим требованием должен стать зеленым. Я везде искал пример. Есть ли простая проверка, которую я могу сделать в выражении ngIf? Я не могу этого сделать.

1 Ответ

2 голосов
/ 20 мая 2019

Я не знаю, как вы справитесь, зажигая дерево по 1 лампочке за раз,
но регулярное выражение для этого требования and has 4 different characters
это.

^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=[a-zA-Z0-9]+$).*?(.).*?(?!\1)(.).*?(?!\1|\2)(.).*?(?!\1|\2|\3)(.).*?$

Объяснил

 ^                             # BOS

 (?= .* [a-z] )                # At least a lower case letter
 (?= .* [A-Z] )                # At least a upper case letter
 (?= .* [0-9] )                # At least a number
 (?= [a-zA-Z0-9]+ $ )          # All chars must be letters or numbers

 .*? 
 ( . )                         # (1), First unique char

 .*? 
 (?! \1 )
 ( . )                         # (2), Second unique char

 .*? 
 (?! \1 | \2 )
 ( . )                         # (3), Third unique char

 .*? 
 (?! \1 | \2 | \3 )
 ( . )                         # (4), Fourth unique char

 .*? 

 $                             # EOS
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...