我的密码应至少包含以下列表中的一个特殊字符。
@ % + / ! # $ ^ ? : , { } ( ) [ ] ~
- _。
我在ColdFusion中使用下面的代码尝试了这个,但它却抛出了一个错误的错误:
格式错误的正则表达式" @%+ /!#$ ^?:,{}()[] ~`-_"
<cfif REFind("@%+/!##$^?:,{}()[]~`-_",arguments.myPassword) IS 0>
// some business logic
</cfif>
有人可以帮我解决这个问题吗?
答案 0 :(得分:2)
您的正则表达式格式不正确,因为[`-_]
forms an invalid range。
使用
<cfif REFind("[@%+/!##$^?:,{}()[\\]~`_.-]",arguments.myPassword) IS 0>
请注意
[...]
是一个字符类,它匹配类中定义的集合/符号的1个字符-
位于字符类的末尾,因此被视为文字-
]
必须使用文字\