0 votos

Validación del texto de entrada de AppleScript

Cómo validaría este patrón: 2 dígitos seguidos del apellido, básicamente cualquier longitud de letras. Apple script no utiliza expresiones regulares, ¿correcto?

Necesito validar las entradas de los usuarios y todas las identificaciones de los estudiantes de mi campus están en ese formato.

repeat

    display dialog "Enter  user name:  (like 99smith)" default answer "" giving up after 40

    set {userName, returnedButton, gaveupBoolean} to the result as list
    -->{"some text", "OK", false}

    if userName is not "" then
        set CheckName to text 1 thru 2 of userName & " --test"

        display dialog CheckName & " -- 1"

        if class of CheckName is number then

            display dialog CheckName & " -- 2"
            exit repeat
        else
            display dialog "Name does not start with 2 digits  " & CheckName & " -- " & userName
        end if

    end if

end repeat

1voto

dvmlls Puntos 171

Puedes enfocarlo así:

Toma los dos primeros personajes:

--prueba para ver si son números.
-->Si no se devuelve inválido.

Toma los caracteres restantes:

--¿Prueba de la longitud mínima?

--> si no se devuelve inválido.

--comprobar cada carácter para ver si son números.

--> Si algún carácter es un número retorna inválido.

Editar para añadir:

En lugar de comprobar si CheckName es un número intenta convertirlo en un número:

try
    set CheckName to CheckNameDigits as number
on error
    display dialog CheckName & " is not a number"
end try

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X