sms-validator
v1.0.0
Published
SMS validation utility for Africa's Talking SMS service. Supports GSM-7/Unicode detection, E.164 validation, segment count, and optional sanitization.
Downloads
7
Maintainers
Readme
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
npm install sms-validator🚀 Usage
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
