Publicações

Validar se o conteúdo de uma variável contém apenas números ou se é um nome com

Em ASP Clássico, você pode validar se o conteúdo de uma variável contém apenas números ou se é um nome (que geralmente conterá letras e possivelmente espaços) usando uma combinação de funções IsNumeric e expressões regulares (regex).

Aqui está um exemplo de como fazer isso:


<%
Dim inputStr
inputStr = "12345" ' ou "ana clara da silvana"

' Verifica se é um número
If IsNumeric(inputStr) Then
    Response.Write("O valor é um número.")
Else
    ' Verifica se é um nome (ou seja, contém letras e possivelmente espaços)
    Dim regex, matches
    Set regex = New RegExp
    regex.Pattern = "^[a-zA-Zs]+$"
    regex.IgnoreCase = True
    regex.Global = True

    Set matches = regex.Execute(inputStr)

    If matches.Count > 0 Then
        Response.Write("O valor é um nome.")
    Else
        Response.Write("O valor contém caracteres inválidos.")
    End If

    Set regex = Nothing
    Set matches = Nothing
End If
%>
 

Explicação:

  1. IsNumeric(inputStr): Primeiro, verifica se a string contém apenas números. Se for verdade, considera que é um número.

  2. Expressão Regular (Regex): Se não for um número, a expressão regular ^[a-zA-Zs]+$ é usada para verificar se a string contém apenas letras (a-zA-Z) e espaços (s). Se corresponder ao padrão, o código considera que é um nome.

  3. Matches.Count > 0: Se houver correspondências, a string é considerada um nome válido. Caso contrário, ela pode conter caracteres inválidos (por exemplo, símbolos ou números misturados com letras).

Essa abordagem cobre os cenários mais comuns para diferenciar números de nomes em ASP Clássico.



whatsapp instagram