19 lines
535 B
Dart
19 lines
535 B
Dart
class PasswordPolicy {
|
||
static const defaultPassword = 'Cc@12345678';
|
||
|
||
static final RegExp _validPassword = RegExp(
|
||
r'^(?=.*[A-Z])(?=.*[a-z])(?=.*\d)(?=.*[!#@*&])[A-Za-z\d!#@*&]{8,16}$',
|
||
);
|
||
|
||
static bool requiresChange(String? password) {
|
||
return password == defaultPassword;
|
||
}
|
||
|
||
static String? validate(String password) {
|
||
if (_validPassword.hasMatch(password)) {
|
||
return null;
|
||
}
|
||
return '密码长度为8-16位,且必须包含大写字母、小写字母、数字和特殊符号(!#@*&)。';
|
||
}
|
||
}
|