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

Regex 如何在Angular7中分解验证检查?,regex,angular7,regex-negation,regex-lookarounds,Regex,Angular7,Regex Negation,Regex Lookarounds,我有一个输入,我必须直观地显示,用户已满足多个图标的要求 我使用的正则表达式是: '^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])[a-zA-Z0-9]+$' 但是,我需要能够显示用户输入了一个数字,一个字母字符,字符串前后没有空格,并且有4个不同的字符。当用户完全满足上述要求之一时,该要求旁边的指示灯图标必须变为绿色。我到处找例子。在ngIf语句中是否可以进行简单检查?我似乎做不到这一点。我不知道你如何处理每次点亮一个灯泡的问题, 但是正则表达式满足此要求,并且有4个不

我有一个输入,我必须直观地显示,用户已满足多个图标的要求

我使用的正则表达式是:

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

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

我不知道你如何处理每次点亮一个灯泡的问题,
但是正则表达式满足此要求,并且有4个不同的字符 是这个

^(?=.*[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

我不知道你将如何处理每次点亮一个灯泡的问题,
但是正则表达式满足此要求,并且有4个不同的字符 是这个

^(?=.*[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

谢谢你,这不是我通常在工作的地方做的事情,但我一直被指派去做。这确实让我比以前更接近终点线,我真的很感激。我担心他们的设置方式,我可能会和我的UX团队一起回去看看如何更改树灯泡。@fRyanIndustries8-当字段生成活动中断(信号?)时,在字段中运行4个单独的正则表达式。首先,不要让任何无效字符进入字段。查找
[^a-zA-Z0-9]+
替换为空。然后执行单独的light正则表达式。1) 小写字母
^.*[a-z]
,2)大写字母
^.*[a-z]
,3)数字
^.*[0-9]
,最后,4唯一,使用上面的正则表达式。上面的正则表达式也用作最终验证。这个过程不一定很难。我一直在尝试找到一个类似上面描述的例子。您知道有哪些资源反映了您描述的方式吗?我有点不知所措。我并不是在寻找一个确切的答案,但更多的是我将如何处理这个问题,我将查看表单上控件可用的事件,并为您需要的处理程序添加处理程序。类似于更改事件、按键向上/向下事件之类的事情。我是一个MFC程序员,其中JS有我可以使用的淡化版本,我不是一个JS程序员(根据选择,它是垃圾)。谢谢你,这不是我通常在工作的地方做的事情,而是我一直在做的事情。这确实让我比以前更接近终点线,我真的很感激。我担心他们的设置方式,我可能会和我的UX团队一起回去看看如何更改树灯泡。@fRyanIndustries8-当字段生成活动中断(信号?)时,在字段中运行4个单独的正则表达式。首先,不要让任何无效字符进入字段。查找
[^a-zA-Z0-9]+
替换为空。然后执行单独的light正则表达式。1) 小写字母
^.*[a-z]
,2)大写字母
^.*[a-z]
,3)数字
^.*[0-9]
,最后,4唯一,使用上面的正则表达式。上面的正则表达式也用作最终验证。这个过程不一定很难。我一直在尝试找到一个类似上面描述的例子。您知道有哪些资源反映了您描述的方式吗?我有点不知所措。我并不是在寻找一个确切的答案,但更多的是我将如何处理这个问题,我将查看表单上控件可用的事件,并为您需要的处理程序添加处理程序。类似于更改事件、按键向上/向下事件之类的事情。我是一个MFC程序员,其中JS有我可用的淡化版本,而我不是一个JS程序员(根据选择,它是垃圾)。