regex - 正则表达式错误代号一个项目
问题描述
我正在使用验证器类使用正则表达式验证密码 TextField,使其必须包含 1 个大写字母 1 个小写字母 1 个数字和 1 个符号,并且必须介于 6 到 10 个字符之间。
Validator val = new Validator();
Constraint passconst = new RegexConstraint("^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)
(?=.*[#$^+=!*()@%&]).{6,10}$", "Password invalid");
val.addConstraint(password, passconst);
但我不断收到此错误:
com.codename1.util.regex.RESyntaxException:语法错误:缺少关闭操作数
我无法弄清楚正则表达式中的错误,它是通过使用此网站生成的https://www.regextester.com/97402
解决方案
我发现正则表达式太模糊而无法遵循,您可以做一些我个人认为更简单的事情,例如:
private static final String supportedCharacters = "abc...";
Constraint passConstraint = new LengthConstraint(6, "Password invalid") {
@Override
public boolean isValid(Object value) {
String s = (String)v;
for(int i = 0 ; i < s.length() ; i++) {
if(!supportedCharacters.contains(s.charAt(i)) return false;
}
return super.isValid(value)
}
};
推荐阅读
- ansible - 如何在ansible中使用“回声”?
- python - 试图理解函数和范围问题
- javascript - 如何将 selectionHandle 添加到媒体小部件?
- asp.net-core - 同一个数据库的两个 dbcontext
- apache-kafka - Kafka Streams 中的状态过滤/flatMapValues?
- laravel - 在 Laravel 中访问路由时如何将变量作为路由参数传递?
- ios - 在远处使用大型 3D 模型时,避免 ARkit 和 SceneKit 中的纹理和阴影闪烁
- json - 读取 map[string]interface{} 中的数据
- javascript - 将 href 链接的数据选择值存储在本地存储中,并使用它来选择新页面上的下拉选项
- javascript - 如何使用 Javascript 和 Canvas 不断生成移动的形状