如何在Angular7中分解验证检查?

时间:2019-05-19 22:23:43

标签: regex angular7 regex-negation regex-lookarounds

我有一个输入,我必须在视觉上显示用户已满足图标的多个要求。

我正在使用的正则表达式是:

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

但是,我需要证明用户输入了一个数字,一个字母字符,字符串前后没有空格,并且具有4个不同的字符。当用户完全满足上述要求之一时,该要求旁边的指示器图标必须变为绿色。我到处都看过一个例子。我可以在ngIf语句中进行简单的检查吗?我似乎无法做到这一点。

1 个答案:

答案 0 :(得分:2)

我不知道您要如何一次点亮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