Convalida il testo di input di AppleScript

0

Come convaliderei questo modello: 2 cifre seguite dal cognome, praticamente qualsiasi lunghezza di lettere. Lo script Apple non usa espressioni regolari, corretto?

Devo convalidare l'input dell'utente e tutti gli ID utente degli studenti nel mio campus sono in quel 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
    
posta Len 20.06.2014 - 17:58
fonte

1 risposta

1

Puoi avvicinarti in questo modo:

Prendi i primi due caratteri:

- prova per vedere se sono numeri.
- > Se non restituisce non valido.

Prendi i restanti caratteri:

- verifica la lunghezza minima?

- > se non restituisce non valido.

- prova ogni personaggio per vedere se sono numeri.

- > Se un carattere è un numero restituito non valido.

Modifica per aggiungere:

Invece di controllare se CheckName è un numero prova a convertirlo in un numero:

try
    set CheckName to CheckNameDigits as number
on error
    display dialog CheckName & " is not a number"
end try
    
risposta data 20.06.2014 - 19:33
fonte

Leggi altre domande sui tag