JSFiddle - React, Tailwind, and code Playground

by Chase Wilson

JavaScript

let US_AREA_CODES = ['951','909','714'];
let MX_AREA_CODES = [];

let formatNumberString = (numberStringOrNumber) => {
    let cleaned;
    if (typeof numberStringOrNumber === 'number') {
    		//cleaned is a string full of numbers/integers
        cleaned = String(numberStringOrNumber);
    } 
    
    if (typeof numberStringOrNumber === 'string') {
        cleaned = numberStringOrNumber.replace(/\D/g, '');
    } 
    
    // the variable cleaned will be a string full of numbers/integers
    
    if ( cleaned[0] + cleaned[1] === '55' && cleaned.length === 10 ) {
    	// cleaned is a mexican phone number
      
    }
    
    if (cleaned[0] + cleaned[1] === '52' && cleaned.length === 12 ) {
    	// cleaned is a mexican phone number with the country code
    }
    
    if (cleaned[0] === '1' && cleaned.length === 11) {
    	// cleaned is a us country coded phone number
    }
    
    if (cleaned.length === 10 && US_AREA_CODES.includes(cleaned[0] + cleaned[1] + cleaned[2]) ) {
    		// cleaned is an american phone number
        return cleaned[0] + cleaned[1] + cleaned[2] + '-' + cleaned[3] + cleaned[4] + cleaned[5] + '-' + cleaned[6] + cleaned[7] + cleaned[8] + cleaned[9]
    }
 };


console.log(formatNumberString(18008765243))
console.log(formatNumberString('951-679-1428'))
console.log(formatNumberString('55-3387-4762'))
console.log(formatNumberString('52-55-3482-9283'))