Se supone que esto es una función que debe comprobar que un color en hexadecimal esté bien escrito y todo eso. Debe ser lo más eficiente posible porque se va a ejecutar varias veces por segundo, además de más cálculos, con resultados que necesitan no tener lag.
 
El caso es que si voy comprobando letra a letra y sustituyendo me va a crear un string nuevo por cada letra que quite y ponga, pero si lo hago así tampoco es eficiente porque me crea un nuevo objeto hex y otro rgb. (Todo esto lo supongo yo, suponiendo que sea igual que en Java).    
Código Javascript
:
Ver original- HEX.prototype.corregir = function () { 
-     var rgbProv = this.toRGB(); //Devuelve un objeto rgb 
-     rgbProv.corregir(); //Comprueba el objeto rgb y lo corrige si está mal 
-     this.hex = rgbProv.toHEX().get();   //Devuelve un objeto hex 
- } 
¿A alguien se le ocurre alguna forma mejor de hacerlo?