lux-utils
Version:
JS library to validate and format common Luxembourgish administrative data.
38 lines (33 loc) • 1.23 kB
JavaScript
/**
* @memberof LuxUtils
* @function validateMobilePhone
* @description Returns `true` if the mobile phone number is valid
* @param {(string|integer)} mobilePhoneNumber mobile phone number to validate. Can be a `string`
* or a `integer`
* @returns {boolean} `true` or `false`
*
* @example
* // validate a postal code
* let isValid = LuxUtils.validateMobilePhone(621123456); //true;
* let isValid2 = LuxUtils.validateMobilePhone("621 12 34 56"); //true;
* let isValid3 = LuxUtils.validateMobilePhone("4444"); //false;
*/
export default (mobilePhoneNumber) => {
if (typeof mobilePhoneNumber === 'string') {
// format: 621123456 as a string
const strippedmobilePhoneNumber = mobilePhoneNumber.replace(/\s/g, '').replace(/-/g, '');
if (strippedmobilePhoneNumber.length === 9) {
mobilePhoneNumber = parseInt(strippedmobilePhoneNumber, 10);
if (Number.isNaN(mobilePhoneNumber)) {
return false;
}
} else {
return false;
}
}
// format: 621123456
if (Number.isInteger(mobilePhoneNumber)) {
return mobilePhoneNumber > 600000000 && mobilePhoneNumber <= 699999999;
}
return false;
};