征服SwiftiOS开发ios专题

swift 的手机号码,邮箱的验证

2016-04-29  本文已影响1700人  坏得到位

最近整理了一下把以前ios判断手机号码和邮箱的验证 用swift实现,希望可以帮助需要的人

手机号码验证

 class func isPhoneNumber(phoneNumber:String) -> Bool {
    if phoneNumber.characters.count == 0 {
        return false
    }
    let mobile = "^(13[0-9]|15[0-9]|18[0-9]|17[0-9]|147)\\d{8}$"
    let regexMobile = NSPredicate(format: "SELF MATCHES %@",mobile)
    if regexMobile.evaluateWithObject(phoneNumber) == true {
        return true
    }else
    {
        return false
    }
}

邮编号码的验证

  class func isZipCodeNumber(zipCodeNumber:String) -> Bool {
    if zipCodeNumber.characters.count == 0 {
        return false
    }
    let zipCodeNumber = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"
    let regexCodeNumber = NSPredicate(format: "SELF MATCHES %@",zipCodeNumber)
    if regexCodeNumber.evaluateWithObject(zipCodeNumber) == true {
        return true
    }else
    {
        return false
    }
}

邮箱帐号的验证

  class func validateEmail(email:String) -> Bool {
    if email.characters.count == 0 {
        return false
    }
    if email.rangeOfString("@") == nil || email.rangeOfString(".") == nil{
        return false
    }
    
    let invalidCharSet = NSCharacterSet.alphanumericCharacterSet().invertedSet.mutableCopy()
    invalidCharSet.removeCharactersInString("_-")
    
    let range1 = email.rangeOfString("@")
    let index = range1?.startIndex
    
    let usernamePart = email.substringToIndex(index!)
    let stringsArray1 = usernamePart.componentsSeparatedByString(".")
    
    for  string1 in stringsArray1
    {
        let rangeOfInavlidChars = string1.rangeOfCharacterFromSet(invalidCharSet as! NSCharacterSet)
        if rangeOfInavlidChars != nil || string1.characters.count == 0  {
           return false
        }
    }
    
    let domainPart = email.substringFromIndex((index?.advancedBy(1))!)
    let stringsArray2 = domainPart.componentsSeparatedByString(".")
    
    for  string1 in stringsArray2
    {
        let rangeOfInavlidChars = string1.rangeOfCharacterFromSet(invalidCharSet as! NSCharacterSet)
        if rangeOfInavlidChars != nil || string1.characters.count == 0  {
            return false
        }
    }
    
   return true
}
上一篇 下一篇

猜你喜欢

热点阅读