Soluciones de Seguridad de Datos en C++ y Python
Utilidades
La clase Utils proporciona funciones de utilidad para determinar tipo de datos y validarlos.
Clase Utils
#ifndef UTILS_H
#define UTILS_H
#include
using namespace std;
class Utils { // Clase para validar tipos de datos
public:
bool esNumeroTarjeta(const string &dato); // Valida si un string es un número de tarjeta
bool esCorreo(const string &dato); // Valida si un string es un correo
bool esNombre(const string &dato); // Valida si un string es un nombre
};
#endif
Ejemplos de Uso
Validar Número de Tarjeta
// Función para saber si el dato es una tarjeta
bool Utils::esNumeroTarjeta(const string &dato) {
// digitos de la tarjeta
if (dato.length() != 16)
return false;
for (char c : dato) {
if (!isdigit(c))
return false; // solo acepta numeros
}
return true;
}
Resultado
El string "1234567890123456" es un número de tarjeta válido (true).
Validar Correo
// Función para validar si el dato es un correo
bool Utils::esCorreo(const string &dato) {
size_t atPos = dato.find('@');
size_t dotPos = dato.find('.', atPos);
return atPos != string::npos && dotPos != string::npos;
}
Resultado
El string "juanperez@gmail.com" es un correo válido (true).
Validar Nombre
// Función para validar si el dato es un nombre
bool Utils::esNombre(const string &dato) {
// comprobar que el dato contenga solo letras y espacios
for (char c : dato) {
if (!(isalpha(c) || c == ' '))
return false;
}
return true;
}
Resultado
El string "Juan Perez" es un nombre válido (true).