@worldkit/validators
v1.0.3
Published
Unified validator functions for phone, VAT, postal code, country, and currency
Downloads
618
Maintainers
Readme
🛡️ @worldkit/validators
Fast validation suite for international phone numbers, EU VAT IDs, postal codes, countries, and currencies.
Zero-dependency validation helper routines for international data validation in web forms, APIs, and edge microservices.
📚 Full Documentation: https://worldkit.in/docs/validators
⚡ Features
- 🇪🇺 EU & UK VAT Identification: Validate VAT structure for Germany, France, Italy, Netherlands, Spain, UK, etc.
- 📞 E.164 International Phone Numbers: Verify phone calling codes and mobile digit lengths.
- 📮 Postal / ZIP Codes: Validate postal format structures by country.
- 🌐 Country & Currency Existence: Verify valid ISO2/ISO3 country codes and ISO-4217 currency symbols.
- 🚀 Edge Runtime Ready: 100% pure JavaScript ESM compatible with Cloudflare Workers, Vercel Edge, and Bun.
📦 Install
npm install @worldkit/validators
# or
pnpm add @worldkit/validators
# or
yarn add @worldkit/validators💡 Usage
import {
validateVat,
validatePhone,
validatePostalCode,
validateCountry,
validateCurrency
} from "@worldkit/validators";
// 1. EU & UK VAT Verification
console.log(validateVat("DE123456789")); // true
console.log(validateVat("GB123456789")); // true
console.log(validateVat("INVALID123")); // false
// 2. Phone Validation
console.log(validatePhone("+919876543210", "IN")); // true
console.log(validatePhone("+14155552671", "US")); // true
// 3. Postal Code Validation
console.log(validatePostalCode("US", "90210")); // true
console.log(validatePostalCode("IN", "400001")); // true
// 4. Country & Currency Code Existence
console.log(validateCountry("JP")); // true
console.log(validateCurrency("USD")); // true
console.log(validateCurrency("XYZ")); // false📖 API Reference
validateVat(vatNumber: string): boolean
Validates structure of EU and UK VAT numbers (DE, FR, IT, ES, NL, BE, AT, CH, GB).
validatePhone(phone: string, countryIso2?: string): boolean
Validates international phone digits against ITU E.164 specifications and country mobile length rules.
validatePostalCode(countryIso2: string, postalCode: string): boolean
Validates ZIP/postal codes against country format regular expressions.
validateCountry(code: string): boolean
Returns true if code is a valid ISO2 or ISO3 country code.
validateCurrency(code: string): boolean
Returns true if code is a valid ISO-4217 currency code.
📐 TypeScript Support
Written in 100% strict TypeScript with built-in declaration files.
🔗 Related Packages
Explore the rest of the WorldKit ecosystem:
@worldkit/core- Unified global data facade.@worldkit/formatters- Phone, address & currency formatters.@worldkit/phone- Phone code and formatting package.@worldkit/postal- Postal code regex patterns.
📜 License
MIT © WorldKit
