bharat-verify
v1.5.2
Published
A powerful and lightweight validation library for Indian PAN numbers, Aadhaar numbers, GSTIN, mobile phone numbers, and IFSC codes. Ideal for KYC, fintech, banking, and verification workflows.
Maintainers
Readme
bharat-verify
A powerful and lightweight validation library for Indian. Perfect for KYC systems, fintech apps, banking workflows, onboarding processes, and verification pipelines. Easy to integrate, fully typed, and optimized for performance.
It returns a JSON response such as:
{ valid: boolean, error?: string, message?: string }1️⃣ PAN Validation - Surname Verification
validatePAN(pan: string, surname: string)🧪 TESTED
validatePAN(null | undefined | 1234567890, "Kumar") // false
validatePAN("ABCPK1234Z", null | undefined | 12345) // false
validatePAN("ABCPK1234Z", "kum123" | "@kum" | "#kum" | " kumar") // false
validatePAN("ABCPK1234Z", "" | " ") // false
validatePAN("ABCPK1234?", "Kumar") // false
validatePAN("XXXXXXXXZX", "Kumar") // false
validatePAN(" ABCPK1234ZZ", "Kumar") // false
validatePAN("XXXXDXXXXZX", "KXXXXX") // false
validatePAN("abcPK1234z", "KUMAR") // true
validatePAN("XXX[ P|C|H|F|A|T|B|L|J|G ]XXXXXX", "Kumar") // true2️⃣ Aadhaar Validation
validateAadhaar(aadhaar: string | number)🧪 TESTED
validateAadhaar(null | undefined | "" | " ") // false
validateAadhaar(" 234123412346 ") // true
validateAadhaar("\t\n 234123412346 \r\n") // true
validateAadhaar(234123412346) // true
validateAadhaar("XXXX XXXX XXXX") // false
validateAadhaar("XXXX-XXXX-XXXX") // false
validateAadhaar("0XXXXXXXXXXX" | "1XXXXXXXXXXX") // false3️⃣ Indian Mobile Number Validation
validateMobile(mobile: string | number)🧪 TESTED
validateMobile(6203306876 | 7203306876 | 8765432109) // true
validateMobile("+919876543210" | "91 9876543210") // true
validateMobile(" 98765 43210 " | "(98765) 43210" | "98765-432-10") // true
validateMobile("5XXXXXXXXX" | "0XXXXXXXXX") // false
validateMobile("987654321" | "98765432109") // false4️⃣ Indian Bank IFSC Code Validation
validateIFSC(ifsc: string)🧪 TESTED
validateIFSC(" " | null | undefined) // false
validateIFSC(" sbin0001234 " | "\tHDFC0005678\n") // true
validateIFSC("SBIN000123" | "SBIN00012345") // false
validateIFSC("XXXX1XXXXXX") // false5️⃣ GSTIN Validation - Surname Verification
validateGSTIN(pan: string, surname: string)🧪 TESTED
validateGSTIN(null | undefined | 1234567890, " ") // false
validateGSTIN("\t07BBBBK1111B1Z9\n", "Kumar") // true
validateGSTIN("XXXXXXXXXXXXXXX5", "X") // false
validateGSTIN("99XXXXXXXXXXXX", "X") // false
validateGSTIN("XXXXXXXXXXXXXzX", "X") // true