Email & Phone Validation in Swift

后端 未结 21 1796
长发绾君心
长发绾君心 2020-12-07 12:02

i am using the following code for phone number validation. But i am getting the following error. I cant able to proceed further. Help us to take it forward.

         


        
21条回答
  •  情歌与酒
    2020-12-07 13:02

    Swift 3.0 to 5.0 Updated Solution:

    //MARK:- Validation Extension -

    extension String {
    
        //To check text field or String is blank or not
        var isBlank: Bool {
            get {
                let trimmed = trimmingCharacters(in: CharacterSet.whitespaces)
                return trimmed.isEmpty
            }
        }
    
        //Validate Email
    
        var isEmail: Bool {
            do {
                let regex = try NSRegularExpression(pattern: "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}", options: .caseInsensitive)
                return regex.firstMatch(in: self, options: NSRegularExpression.MatchingOptions(rawValue: 0), range: NSMakeRange(0, self.count)) != nil
            } catch {
                return false
            }
        }
    
        var isAlphanumeric: Bool {
            return !isEmpty && range(of: "[^a-zA-Z0-9]", options: .regularExpression) == nil
        }
    
        //validate Password
        var isValidPassword: Bool {
            do {
                let regex = try NSRegularExpression(pattern: "^[a-zA-Z_0-9\\-_,;.:#+*?=!§$%&/()@]+$", options: .caseInsensitive)
                if(regex.firstMatch(in: self, options: NSRegularExpression.MatchingOptions(rawValue: 0), range: NSMakeRange(0, self.characters.count)) != nil){
    
                    if(self.characters.count>=6 && self.count<=20){
                        return true
                    }else{
                        return false
                    }
                }else{
                    return false
                }
            } catch {
                return false
            }
        }
    }
    

    use of Email Validation:

    if(txtEmail.isEmail){
    }
    

    Swift 2.0 Solution

    Paste these line anywhere in code.(or in your Constant file)

    extension String {
    
        //To check text field or String is blank or not
        var isBlank: Bool {
            get {
                let trimmed = stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet())
                return trimmed.isEmpty
            }
        }
    
        //Validate Email
        var isEmail: Bool {
            do {
                let regex = try NSRegularExpression(pattern: "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}", options: .CaseInsensitive)
                return regex.firstMatchInString(self, options: NSMatchingOptions(rawValue: 0), range: NSMakeRange(0, self.count)) != nil
            } catch {
                return false
            }
        }
    
        //validate PhoneNumber
        var isPhoneNumber: Bool {
    
            let charcter  = NSCharacterSet(charactersInString: "+0123456789").invertedSet
            var filtered:NSString!
            let inputString:NSArray = self.componentsSeparatedByCharactersInSet(charcter)
            filtered = inputString.componentsJoinedByString("")
            return  self == filtered
    
        }
    }
    

提交回复
热议问题