Behöver hjälp med preg_match!

Permalänk
Medlem

Behöver hjälp med preg_match!

Jag vill kontrollera att användaren har angivit ett användarnamn i formatet HMIT XX XXX. T.ex. HMIT 07 ANS

HMIT07ANS består av tre delar:
HMIT = HÖST Management IT
07 = Årskurs
ANS = Användarnamn

Alla konton måste börja med HMIT eller hmit, sedan följt av två siffor som är användaren får välja själv följt av tre bokstäver som användaren väljer själv.

Jag vill alltså kontrollera att de första bokstäverna är HMIT följt av två siffor t.ex. 07 följt av tre bokstäver t.ex. ANS. Det vore även bra om både små och stora bokstäver gick igenom.

Jag har försökt själv men utan framgång:

if(preg_match('/^[H][M][I][T][0-9]{2}[A-Z]{3}$/', $_POST['username']) == 1) { $username = $_POST['username']; }

Tacksam för hjälp!

Permalänk
Hedersmedlem

Enligt den här sidan fungerar det: http://tinyurl.com/y8zk8tz
Är det inte något annat som är fel, till exempel extra tecken i $_POST['username']?

För att tillåta även små bokstäver är det bara att lägga till sådana:
'/^[Hh][Mm][Ii][Tt][0-9]{2}[A-Za-z]{3}$/'

Permalänk

I ditt exempel har du mellanslag men i ditt regex matchar du aldrig whitespace?
edit: exempel på vad jag menar:
http://www.switchplane.com/utilities/preg_match-regular-expre...

såhär borde det vara?

http://www.switchplane.com/utilities/preg_match-regular-expre...

Visa signatur

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase

Permalänk
Medlem

Nu fungerar det! Det var som ni sa. Och nu fungerar även små bokstäver.

Dessutom var ju switchplane preg_match tester en grymt bra sida.

Tack för hjälpen!