Advertisement
FacuValverdi

EdD-TP04-PTO5- Clase USUARIO

Oct 26th, 2022 (edited)
899
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.89 KB | None | 0 0
  1. //Valverdi, Facundo Lautaro
  2. //CLASE USUARIO, usada para el EJERCICIO 5 TP04 EdD
  3. import java.util.LinkedList;
  4. import java.util.Scanner;
  5. import java.util.regex.Matcher;
  6. import java.util.regex.Pattern;
  7.  
  8. public class usuario {
  9.     private String nombre;
  10.     private String apellido;
  11.     private String nomUsuario;
  12.     private String clave;
  13.     private String correo;
  14.     private String tipoCuenta;
  15.     ///Expresion regular para validar un correo electronico, extraido de https://www.techiedelight.com/es/validate-email-address-java/
  16.     private static final String EMAIL_REGEX = "(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])";
  17.      private static final String PASSWORD_REGEX =
  18.                 "^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[_/+:~@#$%^&=!])(?=\\S+$).{8,12}$";
  19.     private static final Pattern EMAIL_PATTERN = Pattern.compile(EMAIL_REGEX);
  20.     private static final Pattern PASSWORD_PATTERN =Pattern.compile(PASSWORD_REGEX);
  21.     public usuario() {
  22.         // TODO Auto-generated constructor stub
  23.     }
  24.    
  25.     public usuario(String nombre,String apellido, String usuario, String clave, String correo, char TipoCuenta) {
  26.         this.nombre=nombre;
  27.         this.apellido=apellido;
  28.         this.nomUsuario=usuario;
  29.         this.clave=clave;
  30.         this.correo=correo;
  31.         this.tipoCuenta=identificarTipoCuenta(TipoCuenta);
  32.     }
  33.      public String toString() {
  34.             return this.nombre + " - " + this.apellido + " - " + this.nomUsuario +" - "+this.clave+" - "+this.correo+" - "+this.tipoCuenta;
  35.      }
  36.     public static String identificarTipoCuenta(char cuenta) {
  37.         String aux=""; 
  38.         if(cuenta=='p'){
  39.             aux="Premium";
  40.         }else{
  41.             aux="Gratuita";
  42.         }
  43.         return aux;
  44.     }
  45.  
  46.       public static boolean verificarNombre(String cadena) {
  47.             for (int i = 0; i < cadena.length(); i++) {
  48.                 char c = cadena.charAt(i);
  49.                 if (!((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || c == ' ')) {
  50.                     System.out.println("Nombre y apellido deben contener solamente letras y espacios en blanco.");
  51.                     return false;
  52.                 }
  53.             }
  54.             return true;
  55.       }
  56.       public static boolean verificarUsuario(String cadena) {
  57.             for (int i = 0; i < cadena.length(); i++) {
  58.                 char c = cadena.charAt(i);
  59.                 if (!((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')|| (c >= '1' && c <= '9'))) {
  60.                     System.out.println("El usuario puede contener solo letras o letras y dígitos.");
  61.                     return false;
  62.                 }
  63.             }
  64.             return true;
  65.       }
  66.       public static boolean emailValidator(String email)
  67.         {
  68.             if (email == null) {
  69.                 System.out.println("Ingrese correo!!,campo vacio.");
  70.                 return false;
  71.             }
  72.      
  73.             Matcher matcher = EMAIL_PATTERN.matcher(email);
  74.             if(!matcher.matches()) {
  75.                 System.out.println("Correo no valido");
  76.             }
  77.             return matcher.matches();
  78.      }
  79.      public static boolean contraseñaValidator(String clave)
  80.         {
  81.             if (clave == null) {
  82.                 return false;
  83.             }
  84.             Matcher matcher= PASSWORD_PATTERN.matcher(clave);
  85.             if(!matcher.matches()) {
  86.                 System.out.println("Clave no valida");
  87.             }
  88.             return matcher.matches();
  89.      }
  90.  
  91.      public static boolean evaluarCampos(String nombre,String apellido, String usuario, String clave, String correo) {
  92.            
  93.             if(verificarNombre(nombre)&& verificarNombre(apellido)){
  94.                 if(verificarUsuario(usuario)){
  95.                     if(emailValidator(correo)) {
  96.                             if(contraseñaValidator(clave)) {
  97.                                 return true;
  98.                             }else {
  99.                                
  100.                                 return false;
  101.                             }
  102.                     }else {
  103.                        
  104.                         return false;
  105.                     }
  106.                    
  107.                 }else{
  108.                    
  109.                      return false;
  110.                 }
  111.             }else{
  112.                 return false;
  113.             }
  114.         }
  115.  
  116.     public String getNombre() {
  117.         return nombre;
  118.     }
  119.  
  120.     public void setNombre(String nombre) {
  121.         this.nombre = nombre;
  122.     }
  123.  
  124.     public String getApellido() {
  125.         return apellido;
  126.     }
  127.  
  128.     public void setApellido(String apellido) {
  129.         this.apellido = apellido;
  130.     }
  131.  
  132.     public String getNomUsuario() {
  133.         return nomUsuario;
  134.     }
  135.  
  136.     public void setNomUsuario(String nomUsuario) {
  137.         this.nomUsuario = nomUsuario;
  138.     }
  139.  
  140.     public String getClave() {
  141.         return clave;
  142.     }
  143.  
  144.     public void setClave(String clave) {
  145.         this.clave = clave;
  146.     }
  147.  
  148.     public String getCorreo() {
  149.         return correo;
  150.     }
  151.  
  152.     public void setCorreo(String correo) {
  153.         this.correo = correo;
  154.     }
  155.  
  156.     public String getTipoCuenta() {
  157.         return tipoCuenta;
  158.     }
  159.  
  160.     public void setTipoCuenta(String tipoCuenta) {
  161.         this.tipoCuenta = tipoCuenta;
  162.     }
  163. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement