Filtrado / Desinfección de entrada del usuario. mejor Approach
-
22-08-2019 - |
Pregunta
Para aclarar, quiero comprobar si hay caracteres válidos. Para el primer nombre, apellido Quiero comprobar si hay [A-Za-z]. Para Email Quiero comprobar si hay caracteres válidos para el correo electrónico.
¿Qué algoritmo iba a utilizar para comprobar la entrada del usuario? En concreto, me gustaría comprobar primero el nombre, apellido y dirección de correo electrónico del usuario para caracteres válidos antes de agregar a la base de datos.
Obviamente, algo como esto no es suficiente:
if ( [firstName.text isEqualToString:@""] || [lastName.text isEqualToString:@""] || [emailAddress.text isEqualToString:@""]) { ... }
Solución
Revisado por tu edición:
Lo que es probable que desee tener en cuenta es NSCharacterSet. Permite definir conjuntos de caracteres explícitos, que luego se puede utilizar para probar cadenas para la presencia de esos personajes. Un ejemplo trivial:
NSCharacterSet* nonAlphaNumericSet = [[NSCharacterSet alphanumericCharacterSet] invertedSet];
if ([someString rangeOfCharacterFromSet:nonAlphaNumericSet].location != NSNotFound)
{
NSLog(@"It's not alphanumeric!");
}