<% '----------------------------------------------------- 'Função: FormataNome(ByVal Nome) 'Sinopse: Formata nome próprio para que as primeiras ' letras fiquem maiúsculo (com exceções) 'Parametro: ' Nome = Nome próprio a ser formatado 'Autor: Gabriel Fróes (www.codigofonte.com.br) 'Data: 20/10/2008 '----------------------------------------------------- Function FormataNome(ByVal Nome) 'Declarações Dim arrNome Dim Retorno Dim Cont Dim objER Dim Excecoes 'Inicializando e configurando o objeto (expressão regular) Set objER = New RegExp objER.IgnoreCase= True objER.Global = True Excecoes = "^(da|das|de|do|dos|e)$" objER.Pattern = Excecoes 'Por padrão o nome todo ficará minúsculo Nome = Lcase(Replace(Nome, " ", " ")) 'Gerando um array com todas as palavras individualmente arrNome = Split(Nome, " ") Retorno = "" For Cont = 0 To Ubound(arrNome) arrNome(Cont) = Trim(arrNome(Cont)) 'Colocando a primeira letra de cada palavra maiúscula (salvo exceções) If Not objER.Test(arrNome(Cont)) Then If Not arrNome(Cont) = "" Then arrNome(Cont) = Ucase(Left(arrNome(Cont), 1)) & Right(arrNome(Cont), Len(arrNome(Cont))-1) End If End If Retorno = Retorno & " " & arrNome(Cont) Next 'Destruindo o objeto (expressão regular) Set objER = Nothing 'Retorno da função FormataNome = Trim(Retorno) End Function 'Teste de utilização da função %>

Formatação de nomes próprios em ASP

Escreva um nome aqui: <% If Not Request.QueryString("nome") = "" Then %>
Resultado: <%=FormataNome(Request.QueryString("nome"))%> <%End If%>