验证邮政编码或城市的JavaScript正则表达式

验证邮政编码或城市的JavaScript正则表达式,javascript,regex,validation,Javascript,Regex,Validation,我想对名为“城市或邮政编码”的输入字段进行客户端验证,我对用户输入有单独的验证。我首先区分输入是数字还是字符串,然后使用单独的块来验证它们。我想知道是否有一种优雅的方法,或者换句话说,一个正则表达式来验证输入 validateCityOrPostalCode(value) { const isnum = /^\d+$/.test(value); if (isnum) { const patternForZipCode = RegExp('^[0-9]{5}$'

我想对名为“城市或邮政编码”的输入字段进行客户端验证,我对用户输入有单独的验证。我首先区分输入是数字还是字符串,然后使用单独的块来验证它们。我想知道是否有一种优雅的方法,或者换句话说,一个正则表达式来验证输入

    validateCityOrPostalCode(value) {
    const isnum = /^\d+$/.test(value);
    if (isnum) {
      const patternForZipCode = RegExp('^[0-9]{5}$');
      const result = patternForZipCode.test(value);
      return result;
    }
    const onlyLetters = RegExp('^[a-zA-Z ]$').test(value);
    if (onlyLetters) {
      const patternForCity = RegExp('^([a-zA-Z -]{1,50})$');
      const validCityName = patternForCity.test(value);
      return validCityName;
    }
  }
我打算做什么

validateCityOrPostalCode(value) {
const patternForCityOrPostalCode = '<The regex that I am looking for >'
const result = patternForCityOrPostalCode.test(value);
return result;
}
validateCityOrPostalCode(值){
const patternForCityOrPostalCode=''的模式
const result=patternForCityOrPostalCode.test(值);
返回结果;
}
有效个案: 5位邮政编码,如10016、12345、44444等(精确为5位) 纽约、波士顿、芝加哥、xx、xxxx等城市(1至50个字符)

无效案例: 1234 123 12 1. 空字符串 波士顿33
你可以在正则表达式中使用管道,它的作用类似于OR

示例代码段:
函数validateCityOrPostalCode(值){
返回/^([0-9]{5}|[a-zA-Z][a-zA-Z]{0,49})$/.test(值);
}
var值=['12345'、'NewYork'、'1234'、''、'Boston33'、'333Chicago'];
价值观(
函数(值){
log(值+”:“+validateCityOrPostalCode(值));

});您可以在正则表达式中使用管道,其作用类似于OR

示例代码段:
函数validateCityOrPostalCode(值){
返回/^([0-9]{5}|[a-zA-Z][a-zA-Z]{0,49})$/.test(值);
}
var值=['12345'、'NewYork'、'1234'、''、'Boston33'、'333Chicago'];
价值观(
函数(值){
log(值+”:“+validateCityOrPostalCode(值));
});