La inconveniencia de las clases en JavaScript

Supongamos que tenemos varias clases para estilizar mensajes:

css.success {
  color: green;
}
.warning {
  color: orange;
}
.error {
  color: red;
}

Supongamos que en algún elemento mostramos un mensaje exitoso y le asignamos la clase correspondiente para el éxito:

javascriptelem.classList.add('success');

Ahora supongamos que en este mismo elemento mostramos un mensaje de error y le asignamos la clase correspondiente para el error:

javascriptelem.classList.add('error');

Como resultado, el elemento tendrá dos clases en conflicto entre sí:

html<div id="elem" class="success error">
  text
</div>

Resulta que antes de agregar una nueva clase, primero tendremos que eliminar la anterior:

javascriptelem.classList.remove('success');
elem.classList.add('error');

Esto no es muy conveniente, ya que podemos no saber exactamente cuál era la clase anterior y tendremos que eliminar todas las clases una tras otra:

javascriptelem.classList.remove('success');
elem.classList.remove('warning');
elem.classList.add('error');
Задание 1

Dado un input. Al perder el foco, verifique que no se hayan ingresado más de 9 caracteres. Si es así, pinte el borde del input de color verde, y si no es así, de rojo.