【发布时间】:2012-05-13 01:20:59
【问题描述】:
我正在尝试在 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 个字符的密码外,它什么都做。我可以使用StringValidator 来执行此操作,但我宁愿让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]).*$"
【问题讨论】:
-
您是否尝试过使用锚
^ $字符的初始正则表达式?
标签: actionscript-3 apache-flex actionscript flex4