Filtraggio / Sanificazione input dell'utente. approccio migliore
-
22-08-2019 - |
Domanda
Per chiarire, voglio verificare la presenza di caratteri validi. Per il nome, il cognome voglio verificare la presenza di [A-Za-z]. Per E-mail voglio verificare la presenza di caratteri validi per la posta elettronica.
Che algoritmo dovrei utilizzare per controllare l'input dell'utente? In particolare, mi piacerebbe CONTROLLARE nome, il cognome e l'indirizzo email dell'utente per i caratteri validi prima di aggiungo alla base di dati.
Ovviamente, qualcosa di simile a ciò non è sufficiente:
if ( [firstName.text isEqualToString:@""] || [lastName.text isEqualToString:@""] || [emailAddress.text isEqualToString:@""]) { ... }
Soluzione
riveduta per la tua modifica:
Quello che probabilmente vuole guardare è NSCharacterSet. Esso consente di definire set esplicite di personaggi, che è quindi possibile utilizzare per testare le stringhe per la presenza di questi personaggi. Un esempio banale:
NSCharacterSet* nonAlphaNumericSet = [[NSCharacterSet alphanumericCharacterSet] invertedSet];
if ([someString rangeOfCharacterFromSet:nonAlphaNumericSet].location != NSNotFound)
{
NSLog(@"It's not alphanumeric!");
}