我正在尝试在 AS3/Flex4.6 中使用正则表达式来检查满足以下条件的密码:
- 6 到 15 个字符之间
- 必须至少包含一个小写字母
- 必须包含至少一个大写字母
- 必须包含至少一个数字(例如 0-9)
到目前为止,这是我正在使用的:
<mx:RegExpValidator source="{loginPwd}" property="text"
expression="^\w*(?=\w*\d)(?=\w*[a-z])(?=\w*[A-Z])\w*$"
valid="rh(event);" invalid="rh(event);"/>
除了捕获 6 到 15 个字符的密码长度之外,它可以做所有事情。我可以使用 aStringValidator
来做到这一点,但我宁愿RegExpValidator
两者都做(这样我就不会出现为一个 TextInput 字段显示多个错误消息的情况,例如每个验证器一个)。
我尝试了以下正则表达式,但是在它们编译时,它们不起作用(例如,aaAA33
不通过)。
expression="((?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,15})"
expression="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,15}"
expression="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,15}^$"
expression="^.*(?=.{6,15})(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).*$"