β 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
npm install sms-validatorconst {
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);- Validates phone format
- Detects encoding
- Checks length validity
- Optional: sanitize message
- Returns:
isPhoneValid,segments,encoding,messageLength,isLengthValid,sanitized
- Returns encoding, segment count, estimated cost
- Strips non-ASCII characters
This package assumes:
- Up to 3 message parts
- E.164 phone numbers
- Costs per segment are gateway-defined
MIT License
Copyright (c) 2025 Jonathan Mwebaze