Skip to content

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

Notifications You must be signed in to change notification settings

jonahgeek/sms-validator-africastalking

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published