zip codes en postcodes zijn verschillende zaken. Afzonderlijk opslaan en controleren is beter. Wat als je ooit internationaal werkt.
Er zijn niet altijd zipcodes dan
Hoi Jan, bedankt voor je reactie. Ik begrijp je punt, echter wil ik toch nog weten hoe je dit in regular expressions zou kunnen oplossen. Heb er zelf al een tijdje aan gesleuteld maar kom er niet uit. Dus als iemand ideeën heeft, welkom!
Kwestie van de spatie en de twee letters groeperen met haakjes en die groep optioneel maken met een vraagteken:
/^[1-9][0-9]{3}(\s?(?!sa|sd|ss)[a-z]{2})?$/i
Nog iets beter is het om er met ?: een non-capturing group van te maken, omdat je in dit geval geen gebruik gaat maken van backreferences:
/^[1-9][0-9]{3}(?:\s?(?!sa|sd|ss)[a-z]{2})?$/i
Ten opzichte van je oorspronkelijke regex heb ik de spatie veranderd in een \s. Om verschillende redenen is het gebruik van spaties in reguliere expressies niet handig/aanbevolen.