How to check if a string is in a valid format ("XXX-XXX-XXXX") with numbers in Rust

1 Answer

0 votes
use regex::Regex;

fn is_valid_format(s: &str) -> bool {
    let pattern = r"^(\d{3}-)?\d{3}-\d{4}$";
    
    let re = Regex::new(pattern).unwrap();
    
    re.is_match(s)
}

fn main() {
    let mut s = "771-290-1652";
    if is_valid_format(s) {
        println!("Valid");
    } else {
        println!("Not Valid");
    }

    s = "771-29-162";
    if is_valid_format(s) {
        println!("Not Valid");
    } else {
        println!("Not Valid");
    }

    s = "771-AB1-1620";
    if is_valid_format(s) {
        println!("Not Valid");
    } else {
        println!("Not Valid");
    }
}

 
 
/*
run:
 
Valid
Not Valid
Not Valid
 
*/

 



answered Nov 16, 2024 by avibootz
...