UNPKG

ph-id-validator

Version:
532 lines (441 loc) 16.9 kB
(function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.phIdValidator = {})); }(this, (function (exports) { 'use strict'; function getDefaultExportFromCjs (x) { return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x; } function createCommonjsModule(fn) { var module = { exports: {} }; return fn(module, module.exports), module.exports; } var assertString_1 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = assertString; function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function assertString(input) { var isString = typeof input === 'string' || input instanceof String; if (!isString) { var invalidType = _typeof(input); if (input === null) invalidType = 'null';else if (invalidType === 'object') invalidType = input.constructor.name; throw new TypeError("Expected a string but received a ".concat(invalidType)); } } module.exports = exports.default; module.exports.default = exports.default; }); var alpha_1 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); exports.commaDecimal = exports.dotDecimal = exports.farsiLocales = exports.arabicLocales = exports.englishLocales = exports.decimal = exports.alphanumeric = exports.alpha = void 0; var alpha = { 'en-US': /^[A-Z]+$/i, 'az-AZ': /^[A-VXYZÇƏĞİıÖŞÜ]+$/i, 'bg-BG': /^[А-Я]+$/i, 'cs-CZ': /^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i, 'da-DK': /^[A-ZÆØÅ]+$/i, 'de-DE': /^[A-ZÄÖÜß]+$/i, 'el-GR': /^[Α-ώ]+$/i, 'es-ES': /^[A-ZÁÉÍÑÓÚÜ]+$/i, 'fa-IR': /^[ابپتثجچحخدذرزژسشصضطظعغفقکگلمنوهی]+$/i, 'fr-FR': /^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i, 'it-IT': /^[A-ZÀÉÈÌÎÓÒÙ]+$/i, 'nb-NO': /^[A-ZÆØÅ]+$/i, 'nl-NL': /^[A-ZÁÉËÏÓÖÜÚ]+$/i, 'nn-NO': /^[A-ZÆØÅ]+$/i, 'hu-HU': /^[A-ZÁÉÍÓÖŐÚÜŰ]+$/i, 'pl-PL': /^[A-ZĄĆĘŚŁŃÓŻŹ]+$/i, 'pt-PT': /^[A-ZÃÁÀÂÄÇÉÊËÍÏÕÓÔÖÚÜ]+$/i, 'ru-RU': /^[А-ЯЁ]+$/i, 'sl-SI': /^[A-ZČĆĐŠŽ]+$/i, 'sk-SK': /^[A-ZÁČĎÉÍŇÓŠŤÚÝŽĹŔĽÄÔ]+$/i, 'sr-RS@latin': /^[A-ZČĆŽŠĐ]+$/i, 'sr-RS': /^[А-ЯЂЈЉЊЋЏ]+$/i, 'sv-SE': /^[A-ZÅÄÖ]+$/i, 'th-TH': /^[ก-๐\s]+$/i, 'tr-TR': /^[A-ZÇĞİıÖŞÜ]+$/i, 'uk-UA': /^[А-ЩЬЮЯЄIЇҐі]+$/i, 'vi-VN': /^[A-ZÀÁẠẢÃÂẦẤẬẨẪĂẰẮẶẲẴĐÈÉẸẺẼÊỀẾỆỂỄÌÍỊỈĨÒÓỌỎÕÔỒỐỘỔỖƠỜỚỢỞỠÙÚỤỦŨƯỪỨỰỬỮỲÝỴỶỸ]+$/i, 'ku-IQ': /^[ئابپتجچحخدرڕزژسشعغفڤقکگلڵمنوۆھەیێيطؤثآإأكضصةظذ]+$/i, ar: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]+$/, he: /^[א-ת]+$/, fa: /^['آاءأؤئبپتثجچحخدذرزژسشصضطظعغفقکگلمنوهةی']+$/i }; exports.alpha = alpha; var alphanumeric = { 'en-US': /^[0-9A-Z]+$/i, 'az-AZ': /^[0-9A-VXYZÇƏĞİıÖŞÜ]+$/i, 'bg-BG': /^[0-9А-Я]+$/i, 'cs-CZ': /^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i, 'da-DK': /^[0-9A-ZÆØÅ]+$/i, 'de-DE': /^[0-9A-ZÄÖÜß]+$/i, 'el-GR': /^[0-9Α-ω]+$/i, 'es-ES': /^[0-9A-ZÁÉÍÑÓÚÜ]+$/i, 'fr-FR': /^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i, 'it-IT': /^[0-9A-ZÀÉÈÌÎÓÒÙ]+$/i, 'hu-HU': /^[0-9A-ZÁÉÍÓÖŐÚÜŰ]+$/i, 'nb-NO': /^[0-9A-ZÆØÅ]+$/i, 'nl-NL': /^[0-9A-ZÁÉËÏÓÖÜÚ]+$/i, 'nn-NO': /^[0-9A-ZÆØÅ]+$/i, 'pl-PL': /^[0-9A-ZĄĆĘŚŁŃÓŻŹ]+$/i, 'pt-PT': /^[0-9A-ZÃÁÀÂÄÇÉÊËÍÏÕÓÔÖÚÜ]+$/i, 'ru-RU': /^[0-9А-ЯЁ]+$/i, 'sl-SI': /^[0-9A-ZČĆĐŠŽ]+$/i, 'sk-SK': /^[0-9A-ZÁČĎÉÍŇÓŠŤÚÝŽĹŔĽÄÔ]+$/i, 'sr-RS@latin': /^[0-9A-ZČĆŽŠĐ]+$/i, 'sr-RS': /^[0-9А-ЯЂЈЉЊЋЏ]+$/i, 'sv-SE': /^[0-9A-ZÅÄÖ]+$/i, 'th-TH': /^[ก-๙\s]+$/i, 'tr-TR': /^[0-9A-ZÇĞİıÖŞÜ]+$/i, 'uk-UA': /^[0-9А-ЩЬЮЯЄIЇҐі]+$/i, 'ku-IQ': /^[٠١٢٣٤٥٦٧٨٩0-9ئابپتجچحخدرڕزژسشعغفڤقکگلڵمنوۆھەیێيطؤثآإأكضصةظذ]+$/i, 'vi-VN': /^[0-9A-ZÀÁẠẢÃÂẦẤẬẨẪĂẰẮẶẲẴĐÈÉẸẺẼÊỀẾỆỂỄÌÍỊỈĨÒÓỌỎÕÔỒỐỘỔỖƠỜỚỢỞỠÙÚỤỦŨƯỪỨỰỬỮỲÝỴỶỸ]+$/i, ar: /^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]+$/, he: /^[0-9א-ת]+$/, fa: /^['0-9آاءأؤئبپتثجچحخدذرزژسشصضطظعغفقکگلمنوهةی۱۲۳۴۵۶۷۸۹۰']+$/i }; exports.alphanumeric = alphanumeric; var decimal = { 'en-US': '.', ar: '٫' }; exports.decimal = decimal; var englishLocales = ['AU', 'GB', 'HK', 'IN', 'NZ', 'ZA', 'ZM']; exports.englishLocales = englishLocales; for (var locale, i = 0; i < englishLocales.length; i++) { locale = "en-".concat(englishLocales[i]); alpha[locale] = alpha['en-US']; alphanumeric[locale] = alphanumeric['en-US']; decimal[locale] = decimal['en-US']; } // Source: http://www.localeplanet.com/java/ var arabicLocales = ['AE', 'BH', 'DZ', 'EG', 'IQ', 'JO', 'KW', 'LB', 'LY', 'MA', 'QM', 'QA', 'SA', 'SD', 'SY', 'TN', 'YE']; exports.arabicLocales = arabicLocales; for (var _locale, _i = 0; _i < arabicLocales.length; _i++) { _locale = "ar-".concat(arabicLocales[_i]); alpha[_locale] = alpha.ar; alphanumeric[_locale] = alphanumeric.ar; decimal[_locale] = decimal.ar; } var farsiLocales = ['IR', 'AF']; exports.farsiLocales = farsiLocales; for (var _locale2, _i2 = 0; _i2 < farsiLocales.length; _i2++) { _locale2 = "fa-".concat(farsiLocales[_i2]); alphanumeric[_locale2] = alphanumeric.fa; decimal[_locale2] = decimal.ar; } // Source: https://en.wikipedia.org/wiki/Decimal_mark var dotDecimal = ['ar-EG', 'ar-LB', 'ar-LY']; exports.dotDecimal = dotDecimal; var commaDecimal = ['bg-BG', 'cs-CZ', 'da-DK', 'de-DE', 'el-GR', 'en-ZM', 'es-ES', 'fr-CA', 'fr-FR', 'id-ID', 'it-IT', 'ku-IQ', 'hu-HU', 'nb-NO', 'nn-NO', 'nl-NL', 'pl-PL', 'pt-PT', 'ru-RU', 'sl-SI', 'sr-RS@latin', 'sr-RS', 'sv-SE', 'tr-TR', 'uk-UA', 'vi-VN']; exports.commaDecimal = commaDecimal; for (var _i3 = 0; _i3 < dotDecimal.length; _i3++) { decimal[dotDecimal[_i3]] = decimal['en-US']; } for (var _i4 = 0; _i4 < commaDecimal.length; _i4++) { decimal[commaDecimal[_i4]] = ','; } alpha['fr-CA'] = alpha['fr-FR']; alphanumeric['fr-CA'] = alphanumeric['fr-FR']; alpha['pt-BR'] = alpha['pt-PT']; alphanumeric['pt-BR'] = alphanumeric['pt-PT']; decimal['pt-BR'] = decimal['pt-PT']; // see #862 alpha['pl-Pl'] = alpha['pl-PL']; alphanumeric['pl-Pl'] = alphanumeric['pl-PL']; decimal['pl-Pl'] = decimal['pl-PL']; // see #1455 alpha['fa-AF'] = alpha.fa; }); var isNumeric_1 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = isNumeric; var _assertString = _interopRequireDefault(assertString_1); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var numericNoSymbols = /^[0-9]+$/; function isNumeric(str, options) { (0, _assertString.default)(str); if (options && options.no_symbols) { return numericNoSymbols.test(str); } return new RegExp("^[+-]?([0-9]*[".concat((options || {}).locale ? alpha_1.decimal[options.locale] : '.', "])?[0-9]+$")).test(str); } module.exports = exports.default; module.exports.default = exports.default; }); var isNumericValidator = /*@__PURE__*/getDefaultExportFromCjs(isNumeric_1); var isAlphanumeric_1 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = isAlphanumeric; exports.locales = void 0; var _assertString = _interopRequireDefault(assertString_1); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function isAlphanumeric(str) { var locale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'en-US'; (0, _assertString.default)(str); if (locale in alpha_1.alphanumeric) { return alpha_1.alphanumeric[locale].test(str); } throw new Error("Invalid locale '".concat(locale, "'")); } var locales = Object.keys(alpha_1.alphanumeric); exports.locales = locales; }); var isAlphanumericValidator = /*@__PURE__*/getDefaultExportFromCjs(isAlphanumeric_1); var isLength_1 = createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = isLength; var _assertString = _interopRequireDefault(assertString_1); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } /* eslint-disable prefer-rest-params */ function isLength(str, options) { (0, _assertString.default)(str); var min; var max; if (_typeof(options) === 'object') { min = options.min || 0; max = options.max; } else { // backwards compatibility: isLength(str, min [, max]) min = arguments[1] || 0; max = arguments[2]; } var surrogatePairs = str.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g) || []; var len = str.length - surrogatePairs.length; return len >= min && (typeof max === 'undefined' || len <= max); } module.exports = exports.default; module.exports.default = exports.default; }); var isLengthValidator = /*@__PURE__*/getDefaultExportFromCjs(isLength_1); /** * @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 }); }; exports.isACRICard = isACRICard; exports.isBirthCertificate = isBirthCertificate; exports.isDriversLicense = isDriversLicense; exports.isGSISId = isGSISId; exports.isIBPId = isIBPId; exports.isNBIClearance = isNBIClearance; exports.isOFWId = isOFWId; exports.isOWWAId = isOWWAId; exports.isPRCId = isPRCId; exports.isPagIbigLoyaltyCard = isPagIbigLoyaltyCard; exports.isPassport = isPassport; exports.isPhilhealthId = isPhilhealthId; exports.isPostalId = isPostalId; exports.isSECRegistrationCert = isSECRegistrationCert; exports.isSSSId = isSSSId; exports.isSeamanBook = isSeamanBook; exports.isTinId = isTinId; exports.isUMID = isUMID; exports.isVotersId = isVotersId; Object.defineProperty(exports, '__esModule', { value: true }); }))); //# sourceMappingURL=ph-id-validator.umd.js.map