Ecco la funzione in oggetto:
(serve anche come upping, ovviamente
)
codice:
String.prototype.setCase = function(pattern)
{
if (typeof pattern != "string") return this;
var a="a", _a="A", z="z", _z="Z", str="", i, j, pt, ch;
String.prototype.__c = String.prototype.toString;
for (i = 0, j = Math.min(this.length, pattern.length); i < j; i++)
{
ch = this.charAt(i);
pt = pattern.charAt(i);
String.prototype.__c = pt >= _a && pt <= _z ?
String.prototype.toUpperCase : pt >= a && pt <= z ?
String.prototype.toLowerCase : String.prototype.toString;
str += ch.__c();
}
str += this.substring(i).__c();
delete String.prototype.__c;
return str;
}
Per motivi grafici ho inserito due invii a capo sulla riga dei ? perché era troppo lunga e "sbarellava" l'interfaccia del sito. Vanno tolti, altrimenti non funziona.