Me acabo de llevar una sorpresa que me sorprende...
No parece tan fácil de lograr, se me ocurre que puedes usar el evento
oninput para analizar el contenido y, llegado el momento, cambiar al siguiente campo.
Una función para cada campo no me parece lo más adecuado, habrá que ser creativo para manejarlo con una sola función.