diff --git a/faker/providers/address/en_US/__init__.py b/faker/providers/address/en_US/__init__.py
index 4242e781..4bf14695 100644
--- a/faker/providers/address/en_US/__init__.py
+++ b/faker/providers/address/en_US/__init__.py
@@ -419,6 +419,15 @@ class Provider(AddressProvider):
         "WV": (24701, 26886),
         "WI": (53001, 54990),
         "WY": (82001, 83128),
+        # Territories - incomplete ranges with accurate subsets - https://www.geonames.org/postalcode-search.html
+        "AS": (96799, 96799),
+        "FM": (96941, 96944),
+        "GU": (96910, 96932),
+        "MH": (96960, 96970),
+        "MP": (96950, 96952),
+        "PW": (96940, 96940),
+        "PR": (600, 799),
+        "VI": (801, 805),
     }
 
     territories_abbr = (
@@ -511,7 +520,7 @@ class Provider(AddressProvider):
         if state_abbr is None:
             state_abbr = self.random_element(self.states_abbr)
 
-        if state_abbr in self.states_abbr:
+        if state_abbr in self.states_and_territories_abbr:
             postcode = "%d" % (
                 self.generator.random.randint(
                     self.states_postcode[state_abbr][0],
@@ -519,8 +528,12 @@ class Provider(AddressProvider):
                 )
             )
 
-            if len(postcode) == 4:
-                postcode = "0%s" % postcode
+            # zero left pad up until desired length (some have length 3 or 4)
+            target_postcode_len = 5
+            current_postcode_len = len(postcode)
+            if current_postcode_len < target_postcode_len:
+                pad = target_postcode_len - current_postcode_len
+                postcode = f"{'0'*pad}{postcode}"
 
             return postcode
 

diff --git a/tests/providers/test_address.py b/tests/providers/test_address.py
index d9cf2e8b..0576484e 100644
--- a/tests/providers/test_address.py
+++ b/tests/providers/test_address.py
@@ -536,7 +536,7 @@ class TestEnUS:
 
     def test_postcode_in_state(self, faker, num_samples):
         for _ in range(num_samples):
-            for state_abbr in EnUsAddressProvider.states_abbr:
+            for state_abbr in EnUsAddressProvider.states_and_territories_abbr:
                 code = faker.postcode_in_state(state_abbr)
                 assert re.fullmatch(r"\d{5}", code)
                 assert int(code) >= EnUsAddressProvider.states_postcode[state_abbr][0]
@@ -553,7 +553,7 @@ class TestEnUS:
 
     def test_zipcode_in_state(self, faker, num_samples):
         for _ in range(num_samples):
-            for state_abbr in EnUsAddressProvider.states_abbr:
+            for state_abbr in EnUsAddressProvider.states_and_territories_abbr:
                 code = faker.zipcode_in_state(state_abbr)
                 assert re.fullmatch(r"\d{5}", code)
                 assert int(code) >= EnUsAddressProvider.states_postcode[state_abbr][0]

states_postcode fails with territories
* Faker version: since 15.1.2
* OS:  All

Brief summary of the issue goes here.
en_US state fix in 15.1.2 added territories, which are not in states_postcode

Looking up postcode by state fails with territories enabled, but didn't fail prior to 15.1.2.

The fix made here:
  https://github.com/joke2k/faker/blob/master/faker/providers/address/en_US/__init__.py#L496
Combined with the default to include territories here:
  https://github.com/joke2k/faker/blob/master/faker/providers/address/en_US/__init__.py#L488
Causes this to fail whereas it did not prior to the correction made in 15.1.2.
  https://github.com/joke2k/faker/blob/master/faker/providers/address/en_US/__init__.py#L505

### Steps to reproduce

1. fake.add_provider(providers.address.en_US.Provider)
2. state = fake.state_abbr()  # include_territories=True is default.  user can fix by setting to False?
3. repeatedly call fake.zipcode_in_state(state)  # or alternatively pass in GU or other territory

### Expected behavior
Ideally this would not give an error when combining these functions.
It looks like territories to have zip codes, so best solution may be to update the state/postalcode mapping.

--> from internet:  "Within the U.S. Territories, American Samoa (postal abbreviation AS) uses zip code 96799, and Guam (postal abbreviation GU) uses zip codes in the range 96910–96932."

### Actual behavior
Fails on Step 3 noted above.

tests/providers/test_address.py::TestEnUS::test_postcode_in_state tests/providers/test_address.py::TestEnUS::test_zipcode_in_state
tests/providers/test_address.py::TestBaseProvider::test_alpha_2_country_codes tests/providers/test_address.py::TestBaseProvider::test_alpha_2_country_codes_as_default tests/providers/test_address.py::TestBaseProvider::test_alpha_3_country_codes tests/providers/test_address.py::TestBaseProvider::test_bad_country_code_representation tests/providers/test_address.py::TestBaseProvider::test_administrative_unit_all_locales tests/providers/test_address.py::TestBaseProvider::test_country_code_all_locales tests/providers/test_address.py::TestBaseProvider::test_current_country_errors tests/providers/test_address.py::TestAzAz::test_street_suffix_long tests/providers/test_address.py::TestAzAz::test_city_name tests/providers/test_address.py::TestAzAz::test_street_name tests/providers/test_address.py::TestAzAz::test_settlement_name tests/providers/test_address.py::TestAzAz::test_village_name tests/providers/test_address.py::TestAzAz::test_postcode tests/providers/test_address.py::TestCsCz::test_street_suffix_short tests/providers/test_address.py::TestCsCz::test_street_suffix_long tests/providers/test_address.py::TestCsCz::test_city_name tests/providers/test_address.py::TestCsCz::test_street_name tests/providers/test_address.py::TestCsCz::test_state tests/providers/test_address.py::TestCsCz::test_postcode tests/providers/test_address.py::TestCsCz::test_city_with_postcode tests/providers/test_address.py::TestDaDk::test_street_suffix tests/providers/test_address.py::TestDaDk::test_street_name tests/providers/test_address.py::TestDaDk::test_dk_street_name tests/providers/test_address.py::TestDaDk::test_city_name tests/providers/test_address.py::TestDaDk::test_state tests/providers/test_address.py::TestDaDk::test_postcode tests/providers/test_address.py::TestDeAt::test_city tests/providers/test_address.py::TestDeAt::test_state tests/providers/test_address.py::TestDeAt::test_street_suffix_short tests/providers/test_address.py::TestDeAt::test_street_suffix_long tests/providers/test_address.py::TestDeAt::test_country tests/providers/test_address.py::TestDeAt::test_postcode tests/providers/test_address.py::TestDeAt::test_city_with_postcode tests/providers/test_address.py::TestDeDe::test_city tests/providers/test_address.py::TestDeDe::test_state tests/providers/test_address.py::TestDeDe::test_street_suffix_short tests/providers/test_address.py::TestDeDe::test_street_suffix_long tests/providers/test_address.py::TestDeDe::test_country tests/providers/test_address.py::TestDeDe::test_postcode tests/providers/test_address.py::TestDeDe::test_city_with_postcode tests/providers/test_address.py::TestElGr::test_line_address tests/providers/test_address.py::TestElGr::test_street_prefix_short tests/providers/test_address.py::TestElGr::test_street_prefix_long tests/providers/test_address.py::TestElGr::test_street tests/providers/test_address.py::TestElGr::test_city tests/providers/test_address.py::TestElGr::test_region tests/providers/test_address.py::TestEnAu::test_postcode tests/providers/test_address.py::TestEnAu::test_state tests/providers/test_address.py::TestEnAu::test_city_prefix tests/providers/test_address.py::TestEnAu::test_state_abbr tests/providers/test_address.py::TestEnCa::test_postcode tests/providers/test_address.py::TestEnCa::test_postcode_in_province tests/providers/test_address.py::TestEnCa::test_postalcode tests/providers/test_address.py::TestEnCa::test_postal_code_letter tests/providers/test_address.py::TestEnCa::test_province tests/providers/test_address.py::TestEnCa::test_province_abbr tests/providers/test_address.py::TestEnCa::test_city_prefix tests/providers/test_address.py::TestEnCa::test_secondary_address tests/providers/test_address.py::TestEnGb::test_county tests/providers/test_address.py::TestEnIe::test_postcode tests/providers/test_address.py::TestEnIe::test_county tests/providers/test_address.py::TestEnUS::test_city_prefix tests/providers/test_address.py::TestEnUS::test_state tests/providers/test_address.py::TestEnUS::test_state_abbr tests/providers/test_address.py::TestEnUS::test_state_abbr_no_territories tests/providers/test_address.py::TestEnUS::test_postcode tests/providers/test_address.py::TestEnUS::test_zipcode tests/providers/test_address.py::TestEnUS::test_zipcode_plus4 tests/providers/test_address.py::TestEnUS::test_military_ship tests/providers/test_address.py::TestEnUS::test_military_state tests/providers/test_address.py::TestEnUS::test_military_apo tests/providers/test_address.py::TestEnUS::test_military_dpo tests/providers/test_address.py::TestEnUS::test_postalcode tests/providers/test_address.py::TestEnUS::test_postalcode_in_state tests/providers/test_address.py::TestEsCo::test_department_code tests/providers/test_address.py::TestEsCo::test_department tests/providers/test_address.py::TestEsCo::test_municipality_code tests/providers/test_address.py::TestEsCo::test_municipality tests/providers/test_address.py::TestEsCo::test_street_prefix tests/providers/test_address.py::TestEsCo::test_street_suffix tests/providers/test_address.py::TestEsCo::test_street_name tests/providers/test_address.py::TestEsCo::test_building_number tests/providers/test_address.py::TestEsCo::test_secondary_address tests/providers/test_address.py::TestEsCo::test_street_address tests/providers/test_address.py::TestEsCo::test_postcode tests/providers/test_address.py::TestEsCo::test_address tests/providers/test_address.py::TestEsEs::test_state_name tests/providers/test_address.py::TestEsEs::test_street_prefix tests/providers/test_address.py::TestEsEs::test_secondary_address tests/providers/test_address.py::TestEsEs::test_regions tests/providers/test_address.py::TestEsEs::test_autonomous_community tests/providers/test_address.py::TestEsEs::test_postcode tests/providers/test_address.py::TestEsMx::test_city_prefix tests/providers/test_address.py::TestEsMx::test_city_suffix tests/providers/test_address.py::TestEsMx::test_city_adjective tests/providers/test_address.py::TestEsMx::test_street_prefix tests/providers/test_address.py::TestEsMx::test_secondary_address tests/providers/test_address.py::TestEsMx::test_state tests/providers/test_address.py::TestEsMx::test_state_abbr tests/providers/test_address.py::TestFaIr::test_city_prefix tests/providers/test_address.py::TestFaIr::test_secondary_address tests/providers/test_address.py::TestFaIr::test_state tests/providers/test_address.py::TestFrFr::test_street_prefix tests/providers/test_address.py::TestFrFr::test_city_prefix tests/providers/test_address.py::TestFrFr::test_region tests/providers/test_address.py::TestFrFr::test_department tests/providers/test_address.py::TestFrFr::test_department_name tests/providers/test_address.py::TestFrFr::test_department_number tests/providers/test_address.py::TestHeIl::test_city_name tests/providers/test_address.py::TestHeIl::test_street_title tests/providers/test_address.py::TestHiIn::test_city_name tests/providers/test_address.py::TestHiIn::test_state tests/providers/test_address.py::TestTaIn::test_city_name tests/providers/test_address.py::TestTaIn::test_state tests/providers/test_address.py::TestFiFi::test_city tests/providers/test_address.py::TestFiFi::test_street_suffix tests/providers/test_address.py::TestFiFi::test_state tests/providers/test_address.py::TestHrHr::test_city_name tests/providers/test_address.py::TestHrHr::test_street_name tests/providers/test_address.py::TestHrHr::test_state tests/providers/test_address.py::TestHyAm::test_address tests/providers/test_address.py::TestHyAm::test_building_number tests/providers/test_address.py::TestHyAm::test_city tests/providers/test_address.py::TestHyAm::test_city_prefix tests/providers/test_address.py::TestHyAm::test_country tests/providers/test_address.py::TestHyAm::test_postcode tests/providers/test_address.py::TestHyAm::test_postcode_in_state tests/providers/test_address.py::TestHyAm::test_secondary_address tests/providers/test_address.py::TestHyAm::test_state tests/providers/test_address.py::TestHyAm::test_state_abbr tests/providers/test_address.py::TestHyAm::test_street tests/providers/test_address.py::TestHyAm::test_street_address tests/providers/test_address.py::TestHyAm::test_street_name tests/providers/test_address.py::TestHyAm::test_street_prefix tests/providers/test_address.py::TestHyAm::test_street_suffix tests/providers/test_address.py::TestHyAm::test_village tests/providers/test_address.py::TestHyAm::test_village_prefix tests/providers/test_address.py::TestItIt::test_city tests/providers/test_address.py::TestItIt::test_postcode_city_province tests/providers/test_address.py::TestItIt::test_city_prefix tests/providers/test_address.py::TestItIt::test_secondary_address tests/providers/test_address.py::TestItIt::test_administrative_unit tests/providers/test_address.py::TestItIt::test_state_abbr tests/providers/test_address.py::TestJaJp::test_chome tests/providers/test_address.py::TestJaJp::test_ban tests/providers/test_address.py::TestJaJp::test_gou tests/providers/test_address.py::TestJaJp::test_town tests/providers/test_address.py::TestJaJp::test_prefecture tests/providers/test_address.py::TestJaJp::test_city tests/providers/test_address.py::TestJaJp::test_country tests/providers/test_address.py::TestJaJp::test_building_name tests/providers/test_address.py::TestJaJp::test_address tests/providers/test_address.py::TestJaJp::test_postcode tests/providers/test_address.py::TestJaJp::test_zipcode tests/providers/test_address.py::TestKoKr::test_old_postal_code tests/providers/test_address.py::TestKoKr::test_postal_code tests/providers/test_address.py::TestKoKr::test_postcode tests/providers/test_address.py::TestKoKr::test_city tests/providers/test_address.py::TestKoKr::test_borough tests/providers/test_address.py::TestKoKr::test_town tests/providers/test_address.py::TestKoKr::test_town_suffix tests/providers/test_address.py::TestKoKr::test_building_name tests/providers/test_address.py::TestKoKr::test_building_suffix tests/providers/test_address.py::TestKoKr::test_building_dong tests/providers/test_address.py::TestNeNp::test_province tests/providers/test_address.py::TestNeNp::test_district tests/providers/test_address.py::TestNeNp::test_city tests/providers/test_address.py::TestNeNp::test_country tests/providers/test_address.py::TestNoNo::test_postcode tests/providers/test_address.py::TestNoNo::test_city_suffix tests/providers/test_address.py::TestNoNo::test_street_suffix tests/providers/test_address.py::TestNoNo::test_address tests/providers/test_address.py::TestZhTw::test_postcode tests/providers/test_address.py::TestZhTw::test_city_name tests/providers/test_address.py::TestZhTw::test_city_suffix tests/providers/test_address.py::TestZhTw::test_city tests/providers/test_address.py::TestZhTw::test_country tests/providers/test_address.py::TestZhTw::test_street_name tests/providers/test_address.py::TestZhTw::test_address tests/providers/test_address.py::TestZhCn::test_postcode tests/providers/test_address.py::TestZhCn::test_city_name tests/providers/test_address.py::TestZhCn::test_city_suffix tests/providers/test_address.py::TestZhCn::test_city tests/providers/test_address.py::TestZhCn::test_province tests/providers/test_address.py::TestZhCn::test_district tests/providers/test_address.py::TestZhCn::test_country tests/providers/test_address.py::TestZhCn::test_street_name tests/providers/test_address.py::TestZhCn::test_address tests/providers/test_address.py::TestPtBr::test_country tests/providers/test_address.py::TestPtBr::test_bairro tests/providers/test_address.py::TestPtBr::test_neighborhood tests/providers/test_address.py::TestPtBr::test_estado tests/providers/test_address.py::TestPtBr::test_estado_nome tests/providers/test_address.py::TestPtBr::test_estado_sigla tests/providers/test_address.py::TestPtBr::test_address tests/providers/test_address.py::TestPtBr::test_raw_postcode tests/providers/test_address.py::TestPtBr::test_formatted_postcode tests/providers/test_address.py::TestPtPt::test_distrito tests/providers/test_address.py::TestPtPt::test_concelho tests/providers/test_address.py::TestPtPt::test_freguesia tests/providers/test_address.py::TestPtPt::test_place_name tests/providers/test_address.py::TestEnPh::test_metro_manila_postcode tests/providers/test_address.py::TestEnPh::test_luzon_province_postcode tests/providers/test_address.py::TestEnPh::test_visayas_province_postcode tests/providers/test_address.py::TestEnPh::test_mindanao_province_postcode tests/providers/test_address.py::TestEnPh::test_postcode tests/providers/test_address.py::TestEnPh::test_building_number tests/providers/test_address.py::TestEnPh::test_floor_unit_number tests/providers/test_address.py::TestEnPh::test_ordinal_floor_number tests/providers/test_address.py::TestEnPh::test_address tests/providers/test_address.py::TestFilPh::test_metro_manila_postcode tests/providers/test_address.py::TestFilPh::test_luzon_province_postcode tests/providers/test_address.py::TestFilPh::test_visayas_province_postcode tests/providers/test_address.py::TestFilPh::test_mindanao_province_postcode tests/providers/test_address.py::TestFilPh::test_postcode tests/providers/test_address.py::TestFilPh::test_building_number tests/providers/test_address.py::TestFilPh::test_floor_unit_number tests/providers/test_address.py::TestFilPh::test_ordinal_floor_number tests/providers/test_address.py::TestFilPh::test_address tests/providers/test_address.py::TestTlPh::test_metro_manila_postcode tests/providers/test_address.py::TestTlPh::test_luzon_province_postcode tests/providers/test_address.py::TestTlPh::test_visayas_province_postcode tests/providers/test_address.py::TestTlPh::test_mindanao_province_postcode tests/providers/test_address.py::TestTlPh::test_postcode tests/providers/test_address.py::TestTlPh::test_building_number tests/providers/test_address.py::TestTlPh::test_floor_unit_number tests/providers/test_address.py::TestTlPh::test_ordinal_floor_number tests/providers/test_address.py::TestTlPh::test_address tests/providers/test_address.py::TestRuRu::test_city_name tests/providers/test_address.py::TestRuRu::test_country tests/providers/test_address.py::TestRuRu::test_region tests/providers/test_address.py::TestRuRu::test_postcode tests/providers/test_address.py::TestRuRu::test_city_prefix tests/providers/test_address.py::TestRuRu::test_street_suffix tests/providers/test_address.py::TestRuRu::test_street_title tests/providers/test_address.py::TestRuRu::test_street_name tests/providers/test_address.py::TestRuRu::test_street_name_lexical[feminine_suffix_and_noflex_title] tests/providers/test_address.py::TestRuRu::test_street_name_lexical[feminine_suffix_and_flex_title] tests/providers/test_address.py::TestRuRu::test_street_name_lexical[non_feminine_suffix_and_noflex_title] tests/providers/test_address.py::TestRuRu::test_street_name_lexical[masc_suffix_and_irregular_masc_title] tests/providers/test_address.py::TestRuRu::test_street_name_lexical[masc_suffix_and_ck_street_stem] tests/providers/test_address.py::TestRuRu::test_street_name_lexical[masc_suffix_and_uk_street_stem] tests/providers/test_address.py::TestRuRu::test_street_name_lexical[masc_suffix_and_other_stem] tests/providers/test_address.py::TestRuRu::test_street_name_lexical[neu_suffx_and_iregular_neu_street_title] tests/providers/test_address.py::TestRuRu::test_street_name_lexical[neu_suffix_and_regular_street_title] tests/providers/test_address.py::TestThTh::test_country tests/providers/test_address.py::TestThTh::test_city_name tests/providers/test_address.py::TestThTh::test_province tests/providers/test_address.py::TestThTh::test_amphoe tests/providers/test_address.py::TestThTh::test_tambon tests/providers/test_address.py::TestThTh::test_postcode tests/providers/test_address.py::TestEnIn::test_city_name tests/providers/test_address.py::TestEnIn::test_state tests/providers/test_address.py::TestSkSk::test_street_suffix_short tests/providers/test_address.py::TestSkSk::test_street_suffix_long tests/providers/test_address.py::TestSkSk::test_city_name tests/providers/test_address.py::TestSkSk::test_street_name tests/providers/test_address.py::TestSkSk::test_state tests/providers/test_address.py::TestSkSk::test_postcode tests/providers/test_address.py::TestSkSk::test_city_with_postcode tests/providers/test_address.py::TestDeCh::test_canton_name tests/providers/test_address.py::TestDeCh::test_canton_code tests/providers/test_address.py::TestDeCh::test_canton tests/providers/test_address.py::TestDeCh::test_city tests/providers/test_address.py::TestRoRo::test_address tests/providers/test_address.py::TestRoRo::test_street_address tests/providers/test_address.py::TestRoRo::test_street_name tests/providers/test_address.py::TestRoRo::test_street_prefix tests/providers/test_address.py::TestRoRo::test_building_number tests/providers/test_address.py::TestRoRo::test_secondary_address tests/providers/test_address.py::TestRoRo::test_city tests/providers/test_address.py::TestRoRo::test_city_name tests/providers/test_address.py::TestRoRo::test_state tests/providers/test_address.py::TestRoRo::test_state_abbr tests/providers/test_address.py::TestRoRo::test_postcode tests/providers/test_address.py::TestRoRo::test_city_with_postcode tests/providers/test_address.py::TestEnNz::test_te_reo_part tests/providers/test_address.py::TestEnNz::test_reo_first tests/providers/test_address.py::TestEnNz::test_reo_ending tests/providers/test_address.py::TestEnNz::test_city_prefix tests/providers/test_address.py::TestEnNz::test_city_suffix tests/providers/test_address.py::TestEnNz::test_rd_number tests/providers/test_address.py::TestEnNz::test_secondary_address tests/providers/test_address.py::TestFrCh::test_canton_name tests/providers/test_address.py::TestFrCh::test_canton_code tests/providers/test_address.py::TestFrCh::test_canton tests/providers/test_address.py::TestHuHu::test_administrative_unit tests/providers/test_address.py::TestHuHu::test_street_address_with_county tests/providers/test_address.py::TestHuHu::test_city_prefix tests/providers/test_address.py::TestHuHu::test_city_part tests/providers/test_address.py::TestHuHu::test_real_city_name tests/providers/test_address.py::TestHuHu::test_frequent_street_name tests/providers/test_address.py::TestHuHu::test_postcode tests/providers/test_address.py::TestHuHu::test_street_name tests/providers/test_address.py::TestHuHu::test_building_number tests/providers/test_address.py::TestIdId::test_street tests/providers/test_address.py::TestIdId::test_street_prefix_short tests/providers/test_address.py::TestIdId::test_street_prefix_long tests/providers/test_address.py::TestIdId::test_city_name tests/providers/test_address.py::TestIdId::test_administrative_unit tests/providers/test_address.py::TestIdId::test_state_abbr tests/providers/test_address.py::TestIdId::test_country tests/providers/test_address.py::TestKaGe::test_street_title tests/providers/test_address.py::TestKaGe::test_city_name tests/providers/test_address.py::TestSlSi::test_city_name tests/providers/test_address.py::TestSlSi::test_street_name tests/providers/test_address.py::TestSlSi::test_administrative_unit tests/providers/test_address.py::TestSvSe::test_street_prefix tests/providers/test_address.py::TestSvSe::test_city_name tests/providers/test_address.py::TestSvSe::test_administrative_unit tests/providers/test_address.py::TestUkUa::test_city_prefix tests/providers/test_address.py::TestUkUa::test_city_name tests/providers/test_address.py::TestUkUa::test_postcode tests/providers/test_address.py::TestUkUa::test_street_prefix tests/providers/test_address.py::TestUkUa::test_street_name tests/providers/test_address.py::TestUkUa::test_street_title tests/providers/test_address.py::TestUkUa::test_region tests/providers/test_address.py::TestFrCa::test_province tests/providers/test_address.py::TestFrCa::test_province_abbr tests/providers/test_address.py::TestFrCa::test_city_prefixes tests/providers/test_address.py::TestFrCa::test_city_suffixes tests/providers/test_address.py::TestFrCa::test_street_prefixes tests/providers/test_address.py::TestFrCa::test_administrative_unit tests/providers/test_address.py::TestPlPl::test_postcode tests/providers/test_address.py::TestPlPl::test_zipcode tests/providers/test_address.py::TestPlPl::test_postalcode