UNPKG

lux-utils

Version:

JS library to validate and format common Luxembourgish administrative data.

37 lines (32 loc) 1.23 kB
/** * @memberof LuxUtils * @function validateFixedPhone * @description Returns `true` if the fixed phone number is valid * @param {(string|integer)} fixedPhoneNumber fixed phone number to validate. Can be a `string` or a `integer` * @returns {boolean} `true` or `false` * * @example * // validate a fixed phone number * let isValid = LuxUtils.validateFixedPhone(420288); //true; * let isValid2 = LuxUtils.validateFixedPhone("44 12 34 22"); //true; * let isValid3 = LuxUtils.validateFixedPhone("4444"); //false; */ export default (fixedPhoneNumber) => { if (typeof fixedPhoneNumber === 'string') { // format: 440288 as a string const strippedFixedPhoneNumber = fixedPhoneNumber.replace(/\s/g, '').replace(/-/g, ''); if (strippedFixedPhoneNumber.length >= 6 && strippedFixedPhoneNumber.length <= 8) { fixedPhoneNumber = parseInt(strippedFixedPhoneNumber); if (isNaN(fixedPhoneNumber)) { return false; } } else { return false; } } // format: 440288 if (Number.isInteger(fixedPhoneNumber)) { return fixedPhoneNumber > 99999 && fixedPhoneNumber <= 99999999; } return false; };