<?php

namespace App\Helpers;

class MiscHelper {
    /**
     * Checks if input zip code has country specific valid format
     * Supports US and CA for now
     *
     * @param string $zip
     * @param string $countryCode
     * @return boolean
     */
    public static function checkZipCode(string $zip, string $countryCode): bool
    {
        if (!$zip) {
            return false;
        }

        switch ($countryCode) {
            case 'US':
                return preg_match("/^((\d{5}-\d{4})|(\d{5}))$/i", $zip);
            case 'CA':
                return preg_match("/^([AaBbCcEeGgHhJjKkLlMmNnPpRrSsTtVvXxYy]\d[A-Za-z]\s?\d[A-Za-z]\d)$/i", $zip);
        }
        return false;
    }
}
