Segue uma função javascript para deixar maiúsculas apenas a primeira letra de cada palavra, com suporte a exceções...
function UcWords(campo) {
x=getSelectionStart(campo);
y = campo.value.length
val = campo.value;
if (val.length > 1)
val = val.substr(0,1).toUpperCase() + val.substr(1).toLowerCase()
else
val = val.toUpperCase()
newVal = UcWords_Space(val)
if (newVal.length > 1)
{
if (newVal.search(/\./) > -1) newVal = UcWords_Generic(newVal,'.')
if (newVal.search(/\//) > -1) newVal = UcWords_Generic(newVal,'/')
if (newVal.search(/\(/) > -1) newVal = UcWords_Generic(newVal,'(')
if (newVal.search(/\)/) > -1) newVal = UcWords_Generic(newVal,')')
if (newVal.search(/-/) > -1) newVal = UcWords_Generic(newVal,'-')
if (newVal.search(/\*/) > -1) newVal = UcWords_Generic(newVal,'*')
}
campo.value = newVal;
x = x + campo.value.length - y
setCaretTo(campo,x)
}
function UcWords_Space(val)
{
if (val.search(/ /) == -1) return val;
newVal = new Array;
val = val.split(' ');
for(var c=0; c < val.length; c++) {
var g = val[c].substring(0,1) //Primeira Letra
var e = val[c].substring(1,val[c].length) //Resto
var h = val[c] //PalavraFull
if ((h == 'de') || (h == 'do') || (h == 'dos') || (h == 'da') || (h == 'das') || (h == 'e'))
{
}
else
{
g = g.toUpperCase()
}
newVal[c] = g+e
}
newVal = newVal.join(' ')
return newVal
}
function UcWords_Generic(Texto,Separador)
{
ArrVal = new Array;
Texto = Texto.split(Separador);
for(var d=0; d < Texto.length; d++) {
ArrVal[d] = Texto[d].substring(0,1).toUpperCase() + Texto[d].substring(1); //Primeira Letra + Resto
}
return ArrVal.join(Separador)
}
Nenhum comentário:
Postar um comentário