password-rules-parser 1.0.3

Parser for the HTML passwordrules attribute
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use dialoguer::Input;
use password_rules_parser::parse_password_rules;

fn main() -> Result<(), anyhow::Error> {
    // Example rules that you can input:
    //
    // minlength: 8; maxlength: 32; required: lower, upper; required: digit; allowed: [-_./\\@$*&!#];
    let password_rules = Input::<String>::new()
        .with_prompt("Enter password rules string")
        .interact()?;

    match parse_password_rules(&password_rules, true) {
        Ok(parsed_rules) => println!("Parsed rules: {:#?}", parsed_rules),
        Err(e) => println!("{}\n", e.to_string_pretty(&password_rules)?),
    }

    Ok(())
}