需要编写最多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";
  }

最佳答案

这应该与5位数字匹配,还可以再选择4位数字。中间的连字符是可选的。

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


我使用了该库,该库还处理国际邮政编码:
https://github.com/Cimpress-MCP/postal-codes-js/

关于javascript - 写一个正则表达式,其格式应与“02142-1209”匹配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58491489/

10-10 21:44