Proyectos de Subversion Iphone Microlearning - Inconcert

Rev

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

Rev Autor Línea Nro. Línea
1 efrain 1
//
2
//  Validators.swift
3
//  twogetskills
4
//
5
//  Created by Efrain Yanez Recanatini on 7/20/22.
6
//
7
 
8
import Foundation
9
 
10
 
11
class Validator
12
{
19 efrain 13
 
14
    public  static func checkEmail(email : String) -> Bool {
15
        let emailTrimming = email.trimmingCharacters(in: .whitespaces)
16
 
17
        print("email : \(email)")
18
        print("emailTrimming: \(emailTrimming)")
1 efrain 19
        let regex = #"^[a-zA-Z0-9_\-\.~]{2,}@[a-zA-Z0-9_\-\.~]{2,}\.[a-zA-Z]{2,}$"#
20
 
21
        let predicate = NSPredicate(format: "SELF MATCHES %@", regex)
19 efrain 22
        return predicate.evaluate(with: emailTrimming) ? true : false;
1 efrain 23
    }
19 efrain 24
 
25
    public static  func checkPassword(password : String) -> Bool {
26
        let passwordTrimming = password.trimmingCharacters(in: .whitespaces)
1 efrain 27
 
19 efrain 28
        print("password: [\(password)]")
29
        print("passwordTrimming: [\(passwordTrimming)]")
30
        let regexOld = #"^(?=.*\d+)(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z]{6,16}$"#
31
        let regexNew = #"^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[\#\?\!\@\$\^\%\*\-]).{6,16}$"#
1 efrain 32
 
19 efrain 33
        let predicateNew = NSPredicate(format: "SELF MATCHES %@", regexNew)
34
        let predicateOld = NSPredicate(format: "SELF MATCHES %@", regexOld)
35
        if(predicateOld.evaluate(with: passwordTrimming)) {
1 efrain 36
            return true
19 efrain 37
        } else  if(predicateNew.evaluate(with: passwordTrimming)) {
38
            return true
1 efrain 39
        } else {
40
            return false
41
        }
42
    }
19 efrain 43
 
1 efrain 44
}