Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ec-validator

crates.io docs.rs CI Made in Ecuador

Note

Ecuador does not currently use IBAN in practice. Banks use CCI instead. IBAN support is included for ISO compliance.

High-performance validation for Ecuadorian government IDs (cédula, RUC) and financial data (IBAN).

Quick install

cargo add ec-validator

Example

use ec_validator::{cedula, ruc, iban};

let cedula = cedula::validate("1713175071").is_ok();           // true
let ruc    = ruc::validate("1790085783001").is_ok();          // true (juridical)
let rtype  = format!("{:?}", ruc::ruc_type("1790085783001")); // JuridicalEntity
let iban   = iban::validate("EC8912345678901234567890").is_ok(); // depends on check digits

Features

Feature Description
Cédula 10-digit national ID (Mod-10)
RUC 13-digit taxpayer ID: Natural Person, Juridical Entity, Public Entity
IBAN ISO 13616 (Mod-97)

Error types

Variant Description
InvalidLength Wrong number of digits/characters
InvalidCheckDigit Check digit validation failed
InvalidProvinceCode Invalid province code (not 01-24)
InvalidRucType Invalid RUC type indicator
InvalidFormat Invalid character format

Feature flags

Flag Description Default
serde Enable serialization/deserialization No
wasm Enable WebAssembly bindings No

Coming soon

  • CCI (Código de Cuenta Interbancaria) validation

Contributing

Contributions welcome! Specifically seeking help implementing bank account algorithms (local and interbank). Contact the maintainers for details.

License

MIT

About

Blazing fast data validation for Ecuador (Cédula, RUC, IBAN) built in Rust

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages