Proyectos de Subversion Iphone Microlearning - Inconcert

Rev

Rev 1 | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

//
//  Validators.swift
//  twogetskills
//
//  Created by Efrain Yanez Recanatini on 7/20/22.
//

import Foundation


class Validator
{
    
    public  static func checkEmail(email : String) -> Bool {
        let emailTrimming = email.trimmingCharacters(in: .whitespaces)
        
        print("email : \(email)")
        print("emailTrimming: \(emailTrimming)")
        let regex = #"^[a-zA-Z0-9_\-\.~]{2,}@[a-zA-Z0-9_\-\.~]{2,}\.[a-zA-Z]{2,}$"#

        let predicate = NSPredicate(format: "SELF MATCHES %@", regex)
        return predicate.evaluate(with: emailTrimming) ? true : false;
    }

    public static  func checkPassword(password : String) -> Bool {
        let passwordTrimming = password.trimmingCharacters(in: .whitespaces)
        
        print("password: [\(password)]")
        print("passwordTrimming: [\(passwordTrimming)]")
        let regexOld = #"^(?=.*\d+)(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z]{6,16}$"#
        let regexNew = #"^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[\#\?\!\@\$\^\%\*\-]).{6,16}$"#

        let predicateNew = NSPredicate(format: "SELF MATCHES %@", regexNew)
        let predicateOld = NSPredicate(format: "SELF MATCHES %@", regexOld)
        if(predicateOld.evaluate(with: passwordTrimming)) {
            return true
        } else  if(predicateNew.evaluate(with: passwordTrimming)) {
            return true
        } else {
            return false
        }
    }
    
}