Una función php muy simple para validar un número de DNI español (8 números y 1 letra) con formato correcto:

Si tu país tiene otro formato o más dígitos como en Argentina (8–9), Honduras (13 dígitos), etc… puedes personalizar este código en función de tus necesidades.