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
}