ph-id-validator
Version:
Identification number validation for PH ids
204 lines (170 loc) • 5.22 kB
JavaScript
import isNumericValidator from 'validator/lib/isNumeric';
import isAlphanumericValidator from 'validator/lib/isAlphanumeric';
import isLengthValidator from 'validator/lib/isLength';
/**
* @name ph-id-validator
* @license MIT license.
* @copyright (c) 2021 Janno Tabamo
* @author Janno Tabamo <jannotabamo@gmail.com> (https://resume.jannomeister.com)
*/
var hasOnlyDash = function hasOnlyDash(str) {
return /[-]/.test(str);
};
var hasOnySpace = function hasOnySpace(str) {
return /[ ]/.test(str);
};
var isSECRegistrationCert = function isSECRegistrationCert(idNumber) {
return isAlphanumericValidator(idNumber) && isLengthValidator(idNumber, {
min: 11,
max: 11
});
};
var isOWWAId = function isOWWAId(idNumber) {
return isNumericValidator(idNumber) && isLengthValidator(idNumber, {
min: 11,
max: 11
});
};
var isSeamanBook = function isSeamanBook(idNumber) {
return isNumericValidator(idNumber) && isLengthValidator(idNumber, {
min: 9,
max: 9
});
};
var isIBPId = function isIBPId(idNumber) {
return isNumericValidator(idNumber) && isLengthValidator(idNumber, {
min: 5,
max: 5
});
};
var isGSISId = function isGSISId(idNumber) {
return isNumericValidator(idNumber) && isLengthValidator(idNumber, {
min: 11,
max: 11
});
};
var isPassport = function isPassport(idNumber) {
return isAlphanumericValidator(idNumber) && isLengthValidator(idNumber, {
min: 9,
max: 9
});
};
var isPRCId = function isPRCId(idNumber) {
return isNumericValidator(idNumber) && isLengthValidator(idNumber, {
min: 7,
max: 7
});
};
var isOFWId = function isOFWId(idNumber) {
return isNumericValidator(idNumber) && isLengthValidator(idNumber, {
min: 11,
max: 11
});
};
var isACRICard = function isACRICard(idNumber) {
return isNumericValidator(idNumber) && isLengthValidator(idNumber, {
min: 9,
max: 9
});
};
var isTinId = function isTinId(idNumber) {
if (!hasOnlyDash(idNumber) && !isNumericValidator(idNumber)) {
return false;
}
var tinId = idNumber.split("-").join("");
return isNumericValidator(tinId) && isLengthValidator(tinId, {
min: 9,
max: 12
});
};
var isSSSId = function isSSSId(idNumber) {
if (!hasOnlyDash(idNumber) && !isNumericValidator(idNumber)) {
return false;
}
var sssId = idNumber.split("-").join("");
return isNumericValidator(sssId) && isLengthValidator(sssId, {
min: 10,
max: 10
});
};
var isPhilhealthId = function isPhilhealthId(idNumber) {
if (!hasOnlyDash(idNumber) && !isNumericValidator(idNumber)) {
return false;
}
var philhealthId = idNumber.split("-").join("");
return isNumericValidator(philhealthId) && isLengthValidator(philhealthId, {
min: 12,
max: 12
});
};
var isDriversLicense = function isDriversLicense(idNumber) {
if (!hasOnlyDash(idNumber) && !isAlphanumericValidator(idNumber)) {
return false;
}
var driverLicenseId = idNumber.split("-").join("");
return isAlphanumericValidator(driverLicenseId) && isLengthValidator(driverLicenseId, {
min: 11,
max: 11
});
};
var isPostalId = function isPostalId(idNumber) {
if (!hasOnySpace(idNumber) && !isAlphanumericValidator(idNumber)) {
return false;
}
var postalId = idNumber.split(" ").join("");
return isAlphanumericValidator(postalId) && isLengthValidator(postalId, {
min: 16,
max: 16
});
};
var isBirthCertificate = function isBirthCertificate(idNumber) {
if (!hasOnlyDash(idNumber) && !isAlphanumericValidator(idNumber)) {
return false;
}
var birthCerificateId = idNumber.split("-").join("");
return isAlphanumericValidator(birthCerificateId) && isLengthValidator(birthCerificateId, {
min: 13,
max: 13
});
};
var isUMID = function isUMID(idNumber) {
if (!hasOnlyDash(idNumber) && !isNumericValidator(idNumber)) {
return false;
}
var umid = idNumber.split("-").join("");
return isNumericValidator(umid) && isLengthValidator(umid, {
min: 12,
max: 12
});
};
var isVotersId = function isVotersId(idNumber) {
if (!hasOnlyDash(idNumber) && !isAlphanumericValidator(idNumber)) {
return false;
}
var votersId = idNumber.split("-").join("");
return isAlphanumericValidator(votersId) && isLengthValidator(votersId, {
min: 22,
max: 22
});
};
var isPagIbigLoyaltyCard = function isPagIbigLoyaltyCard(idNumber) {
if (!hasOnlyDash(idNumber) && !isAlphanumericValidator(idNumber)) {
return false;
}
var loyaltyCard = idNumber.split("-").join("");
return isAlphanumericValidator(loyaltyCard) && isLengthValidator(loyaltyCard, {
min: 12,
max: 12
});
};
var isNBIClearance = function isNBIClearance(idNumber) {
if (!hasOnlyDash(idNumber) && !isAlphanumericValidator(idNumber)) {
return false;
}
var nbiClearance = idNumber.split("-").join("");
return isAlphanumericValidator(nbiClearance) && isLengthValidator(nbiClearance, {
min: 18,
max: 18
});
};
export { isACRICard, isBirthCertificate, isDriversLicense, isGSISId, isIBPId, isNBIClearance, isOFWId, isOWWAId, isPRCId, isPagIbigLoyaltyCard, isPassport, isPhilhealthId, isPostalId, isSECRegistrationCert, isSSSId, isSeamanBook, isTinId, isUMID, isVotersId };