UNPKG

lux-utils

Version:

JS library to validate and format common Luxembourgish administrative data.

37 lines (34 loc) 1.17 kB
/** * @memberof LuxUtils * @function validateCodePostal * @description Returns `true` if the given postal code is valid * @param {(string|integer)} codePostalToValidate postal code to validate. Can be a `string` or a `integer` * @returns {boolean} `true` or `false` * * @example * // validate a postal code * let isValid = LuxUtils.validateCodePostal(4402); //true; * let isValid2 = LuxUtils.validateCodePostal("L-4402"); //true; * let isValid3 = LuxUtils.validateCodePostal("0404"); //false; */ export default codePostalToValidate => { //format: 4402 if (Number.isInteger(codePostalToValidate)) { return codePostalToValidate >= 1110 && codePostalToValidate <= 9999; } if (typeof codePostalToValidate === "string") { //format: L-4402 as a string if (codePostalToValidate.startsWith("L-")) { codePostalToValidate = codePostalToValidate.substr( 2, codePostalToValidate.length - 2 ); } //format: 4402 as a string if (codePostalToValidate.length === 4) { let parsedCP = parseInt(codePostalToValidate, 10); return parsedCP >= 1110 && parsedCP <= 9999; } } return false; };