E com apenas 14 linhas...
Não usei \w e \W pois ele não reconhece como Word palavras acentuadas...
function UcWords(campo)
{
val = campo.value;
newVal = val
.toLowerCase()
.replace(/[^A-Za-záâàãäéêèëíîìïóõòôöúùûü][A-Za-záâàãäéêèëíîìïóõòôöúùûü]/g, function(m){return m.toUpperCase()})
.replace(/[0-9][A-Za-záâàãäéêèëíîìïóõòôöúùûü]/g, function(m){return m.toUpperCase()})
.replace(/( (da|das|e|de|do|dos|para|na|nas|no|nos) )/gi, function(m){return m.toLowerCase()})
.replace(/^./, function(m){return m.toUpperCase()})
if (val != newVal)
{
campo.value = newVal;
}
}
2 comentários:
Parabéns! funciona perfeitamente! Faltou colocar o "Ç", mas nada que não possa ser adicionado.
nota 10
Amigo, seu código é muito bom. Como posso contornar um problema? Se uma preposição é a primeira palavra do campo, ela não permanece minúscula. Como costumo quebrar os nomes em nome e sobrenome, isso é um inconveniente.
Obrigado
Postar um comentário