[a-z] matchar valfri bokstav mellan a och z (vill du kunna matcha även å, ä och ö får du skriva [a-zåäö])
\d matchar en siffra (0-9)
{2} matchar exakt två förekomster av föregående tecken (a{2} matchar aa)
^ matchar början av strängen
$ matchar slutet av strängen.
Något liknande följande borde alltså fungera
var pattern1 = /^[a-z]{2} \d{2} [a-z] [a-z]{3}$/i;
var pattern2 = /^[a-z]{2} \d{2} [a-z]{3} [a-z]$/i;
För att sedan testa om din sträng matchar något av dina patterns kan du göra så här:
var str = "AB 123 X NAK";
if (pattern1.test(str)) {
alert('Träff på pattern1');
} else if (pattern2.test(str)) {
alert('Träff på pattern2');
} else {
alert('Ingen träff');
}