UNPKG

sms-validator

Version:

SMS validation utility for Africa's Talking SMS service. Supports GSM-7/Unicode detection, E.164 validation, segment count, and optional sanitization.

72 lines (48 loc) 1.4 kB
# sms-validator A utility package to validate and analyze SMS messages for Africa's Talking SMS gateway. - Supports **GSM-7** and **Unicode (UCS-2)** detection - Calculates **SMS segments** - Validates **international phone numbers (E.164)** - Provides **cost estimate**, **sanitization**, and **message breakdown** --- ## 📦 Install ```bash npm install sms-validator ``` --- ## 🚀 Usage ```js const { validateSms, getMessageBreakdown, sanitizeMessage } = require("sms-validator"); const phone = "+254712345678"; const message = "Hello, your OTP is 123456 ✅"; const result = validateSms(phone, message, { sanitize: true }); console.log(result); const breakdown = getMessageBreakdown(message, 0.03); console.log(breakdown); ``` --- ## 📋 API ### `validateSms(phone, message, options)` - Validates phone format - Detects encoding - Checks length validity - Optional: sanitize message - Returns: `isPhoneValid`, `segments`, `encoding`, `messageLength`, `isLengthValid`, `sanitized` ### `getMessageBreakdown(message, costPerSegment)` - Returns encoding, segment count, estimated cost ### `sanitizeMessage(message)` - Strips non-ASCII characters --- ## ✅ Africa's Talking Specifics This package assumes: - Up to **3 message parts** - E.164 phone numbers - Costs per segment are gateway-defined --- ### 📄 `LICENSE` MIT License Copyright (c) 2025 Jonathan Mwebaze