nigerian-mobile-validator
Version:
The most rigorous, up-to-date library for validating Nigerian mobile numbers. Fully NCC-compliant, and security-focused, with enterprise-grade features to prevent the business risks of validation failures in regulated industries.
77 lines (76 loc) • 3.89 kB
JavaScript
;
// src/number-validation/mobile-validation-status.ts
Object.defineProperty(exports, "__esModule", { value: true });
exports.ValidationStatusMessages = exports.MobileValidationStatus = void 0;
/**
* An enum that describes the error/success messages after validation.
*/
var MobileValidationStatus;
(function (MobileValidationStatus) {
MobileValidationStatus[MobileValidationStatus["IncorrectNumberOfDigits"] = 0] = "IncorrectNumberOfDigits";
MobileValidationStatus[MobileValidationStatus["NotNigerianNumber"] = 1] = "NotNigerianNumber";
MobileValidationStatus[MobileValidationStatus["ContainsNonNumericChars"] = 3] = "ContainsNonNumericChars";
MobileValidationStatus[MobileValidationStatus["IncorrectNetworkCode"] = 4] = "IncorrectNetworkCode";
MobileValidationStatus[MobileValidationStatus["InvalidSubscriberNumber"] = 5] = "InvalidSubscriberNumber";
MobileValidationStatus[MobileValidationStatus["UnassignedNetworkCode"] = 6] = "UnassignedNetworkCode";
MobileValidationStatus[MobileValidationStatus["SharedVASNetworkCode"] = 7] = "SharedVASNetworkCode";
MobileValidationStatus[MobileValidationStatus["WithdrawnNetworkCode"] = 8] = "WithdrawnNetworkCode";
MobileValidationStatus[MobileValidationStatus["ReservedNetworkCode"] = 9] = "ReservedNetworkCode";
MobileValidationStatus[MobileValidationStatus["RateLimitExceeded"] = 10] = "RateLimitExceeded";
MobileValidationStatus[MobileValidationStatus["ReturnedNetworkCode"] = 11] = "ReturnedNetworkCode";
MobileValidationStatus[MobileValidationStatus["Success"] = 99] = "Success";
})(MobileValidationStatus || (exports.MobileValidationStatus = MobileValidationStatus = {}));
/**
* Object containing user-friendly and developer-friendly messages
* for each validation status.
*/
exports.ValidationStatusMessages = {
[MobileValidationStatus.NotNigerianNumber]: {
userMessage: 'Start with 0, 234, or +234',
devMessage: 'Not a Nigerian number format'
},
[MobileValidationStatus.IncorrectNumberOfDigits]: {
userMessage: 'Number is too long or too short',
devMessage: 'Incorrect number of digits'
},
[MobileValidationStatus.ContainsNonNumericChars]: {
userMessage: 'Only enter numbers 0-9',
devMessage: 'Must only contain digits'
},
[MobileValidationStatus.IncorrectNetworkCode]: {
userMessage: 'Not a Nigerian number',
devMessage: 'Mobile network code not found'
},
[MobileValidationStatus.InvalidSubscriberNumber]: {
userMessage: 'Number is not correct',
devMessage: 'Subscriber number is not valid for this network code'
},
[MobileValidationStatus.UnassignedNetworkCode]: {
userMessage: 'No mobile network uses this code',
devMessage: 'Network code not assigned to any telco'
},
[MobileValidationStatus.SharedVASNetworkCode]: {
userMessage: 'No mobile network uses this code',
devMessage: 'Network code is Shared VAS (not assigned to any telco)'
},
[MobileValidationStatus.WithdrawnNetworkCode]: {
userMessage: 'This code has been withdrawn',
devMessage: 'Network code has been withdrawn by NCC'
},
[MobileValidationStatus.ReservedNetworkCode]: {
userMessage: 'This code is reserved',
devMessage: 'Network code is reserved for special services'
},
[MobileValidationStatus.RateLimitExceeded]: {
userMessage: 'Too many validation attempts',
devMessage: 'Validation rate limit exceeded'
},
[MobileValidationStatus.ReturnedNetworkCode]: {
userMessage: 'This code is marked as \'returned\'',
devMessage: 'Network code has been returned'
},
[MobileValidationStatus.Success]: {
userMessage: 'Nice! This is a Nigerian mobile number',
devMessage: 'Success, this is a valid Nigerian mobile number'
}
};