A dead simple crate for validating/verifying Spanish VAT ID numbers written in Rust.
This crate allows you to easily check and verify the following ID numbers:
- Documento Nacional de Identidad (DNI)
- Número de Identificación Fiscal (NIF)
- Número de Identificación de Extranjero (NIE)
cargo add spain-vat-id
nif_check_digit(val: u32) -> char
is_valid_nie(v: &str) -> (bool, String)
is_valid_nif(v: &str) -> (bool, String)
// NIF checking
let nif = "9874`457T";
let (valid, explain) = is_valid_nif(nif);
if !valid{
println!("{}", explain);
// Not valid: Char '`' at position 5 is not a number
}
Special thanks to @dev-ardi for a rework and improvements.