1

我正在使用 struts 2 注释验证来验证密码字段,但是当我给出正确的编码时它显示错误

@RequiredStringValidator(message = "Please provide a password")
    @StringLengthFieldValidator(minLength="7",maxLength="15",message="The Password should be minmum 7 character and maximum 15 charcters")
    @RegexFieldValidator(expression = "^[0-9A-Z]+$", message = "Password atleast have one Capital and one Number")

任何的想法?

4

2 回答 2

2

我认为他真的需要(未经测试):^.*(?=.{7,15})(?=.*\d)(?=.*[a-zA-Z]).*$

但我不会使用正则表达式......只需在您的操作中添加一个验证方法并根据您的要求在那里检查它,对于大多数人来说,一个简单的循环和计数器会比您自己发现困难的正则表达式更容易理解构建,以后会发现很难阅读。

例如,如果你想改变上面那个怪物怎么办?如果我看到一个字符串字符的循环,其中包含一个数字和字母计数器,这将非常容易理解并且很容易考虑添加大写字母、小写字母和符号,你应该选择。

于 2013-02-18T23:36:16.283 回答
1

您正在寻找的正则表达式是:

^(.*[0-9].*[A-Z].*)|(.*[A-Z].*[0-9].*)$

你提供的那个:

^[0-9A-Z]+$

匹配由数字和/或大写字母组成的密码

于 2013-02-18T12:30:39.430 回答