Напишите регулярное выражение, которое должно соответствовать формату "02142-1209" - PullRequest
1 голос
/ 21 октября 2019

Необходимо написать правильное регулярное выражение, которое будет содержать максимум 9 цифр, и регулярное выражение будет соответствовать "02142-1209", но если кто-то упоминает также 5 цифр, мы можем разрешить пользователю отправлять. Максимум 9 цифр, и в нем должно быть включено «-».

Примечание. Пользователь может отправить, если он добавил первые 5 цифр.

if ( !props.postalCode )
  {
    err.postalCode = "Zip Code is Required.";
  } else if ( props.countryCode === "US" && !/^[\d]+\-*[\d]\{9}$/.test( props.postalCode ) )
  {
    err.postalCode = "US Zip Codes Must Be 5 Digits";
  }

1 Ответ

4 голосов
/ 21 октября 2019

Это должно соответствовать 5 цифрам и, необязательно, еще 4 цифрам. Дефис между ними необязательный.

/^[0-9]{5}-?([0-9]{4})?$/

Я использовал эту библиотеку, которая также обрабатывает международные почтовые индексы: https://github.com/Cimpress-MCP/postal-codes-js/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...