validateFixedPhone/index.js

/**
 * @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 postal code
 *  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
    let 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;
};