using System.Text.RegularExpressions; namespace Business.KftcPasswordRule { /// /// public class PatternMatchRule : PasswordRule { private string pattern = @"^(?=.*\d)(?=.*[A-Z]).{9,30}$"; /// /// /// /// public PasswordValidationResult Validate(ValidationModel model) { if (model == null) { return new PasswordValidationResult { IsValid = false, Message = "invalid password." }; } if (string.IsNullOrEmpty(model.Password)) { return new PasswordValidationResult { IsValid = false, Message = "invalid password." }; } var res = Regex.IsMatch(model.Password, pattern); if (!res.Equals(true)) { return new PasswordValidationResult { IsValid = false, Message = "invalid password" }; } Regex r = new Regex(@"[~`!@#$%^&*()-+=|\{}':;.,<>/?]"); if (!r.IsMatch(model.Password)) { return new PasswordValidationResult { IsValid = false, Message = "invalid password.Pattern mismatch." }; } return new PasswordValidationResult { IsValid = true, Message = "valid" }; } } }