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