Te doy la misma respuesta que hace unos días a una pregunta muy similar de otro forero:
Se puede hacer utilizando expresiones regulares con las funciones regcomp() y regexec().
Puedes ver un ejemplo aquí:
http://publib.boulder.ibm.com/infoce...zan5mst205.htm
En tu caso la expresion regular podría ser expresada así: "^[a-zA-Z]{2}[0-9]{4}$"
---
Otra opción es dividir la cadena en las los partes diferenciadas y utilizar la funcion strrspn() utilizando como segundo parámetro de la misma:
- "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVW XYZ" para el primer trozo.
- "0123456789" para el segundo trozo.
Para ser válido, el retorno de la primera llamada debe ser 2 y el de la segunda llamada debe ser 4.
---
Otra opción es utilizar las funciones:
- isalpha() para cada uno de los dos primeros caracteres
- isdigit() para cada uno de los caracteres restantes
---
Seguro que hay más formas ...