Vehicle Identification Number (VIN) parser and validator for Rust.
Provides information about region, manufacturer, country of origin, possible years of assembling and checksum validation of given Vehicle Identification Number.
Add dependency to your Cargo.toml
[dependencies]
vin_parser = "1.0.0"
Then, in your crate:
extern crate vin_parser;
let vin_number = "WP0ZZZ99ZTS392124";
assert!(vin_parser::check_validity(vin_number).is_ok());
extern crate vin_parser;
// Check VIN with checksum validation
let vin_number = "1M8GDM9AXKP042788";
assert!(vin_parser::verify_checksum(vin_number).is_ok());
extern crate vin_parser;
// Get VIN information
let vin_number = "wp0zzz998ts392124";
let result = vin_parser::get_info(vin_number).unwrap();
assert_eq!(result.vin, vin_number.to_uppercase());
assert_eq!(result.country, "Germany/West Germany");
assert_eq!(result.manufacturer, "Porsche car");
assert_eq!(result.region, "Europe");
assert!(result.valid_checksum.is_ok());
Inspired by this repository: https://github.com/idlesign/vininfo.