fix zipcode

This commit is contained in:
Looly
2020-12-02 02:33:45 +08:00
parent ba2a8156d5
commit c0f1afd709
3 changed files with 29 additions and 2 deletions

View File

@@ -63,9 +63,9 @@ public class PatternPool {
public final static Pattern CITIZEN_ID = Pattern.compile("[1-9]\\d{5}[1-2]\\d{3}((0\\d)|(1[0-2]))(([012]\\d)|3[0-1])\\d{3}(\\d|X|x)");
/**
* 邮编
* 邮编,兼容港澳台
*/
public final static Pattern ZIP_CODE = Pattern.compile("[1-9]\\d{5}(?!\\d)");
public final static Pattern ZIP_CODE = Pattern.compile("^(0[1-7]|1[0-356]|2[0-7]|3[0-6]|4[0-7]|5[0-7]|6[0-7]|7[0-5]|8[0-9]|9[0-8])\\d{4}|99907[78]$");
/**
* 生日
*/

View File

@@ -161,4 +161,30 @@ public class ValidatorTest {
Assert.assertTrue(Validator.isUUID(IdUtil.randomUUID().toUpperCase()));
Assert.assertTrue(Validator.isUUID(IdUtil.fastSimpleUUID().toUpperCase()));
}
@Test
public void isZipCodeTest(){
// 港
boolean zipCode = Validator.isZipCode("999077");
Assert.assertTrue(zipCode);
// 澳
zipCode = Validator.isZipCode("999078");
Assert.assertTrue(zipCode);
// 台2020年3月起改用6位邮编3+3
zipCode = Validator.isZipCode("822001");
Assert.assertTrue(zipCode);
// 内蒙
zipCode = Validator.isZipCode("016063");
Assert.assertTrue(zipCode);
// 山西
zipCode = Validator.isZipCode("045246");
Assert.assertTrue(zipCode);
// 河北
zipCode = Validator.isZipCode("066502");
Assert.assertTrue(zipCode);
// 北京
zipCode = Validator.isZipCode("102629");
Assert.assertTrue(zipCode);
}
}