首页 > 解决方案 > 如何快速验证国际护照号码

问题描述

我是 swift 新手,我需要验证国际护照。有什么方法可以验证它。

标签: iosswiftvalidation

解决方案


尝试使用NSPredicate

  func isValidPassport(passportStr:String) -> Bool {        
    let passportRegEx = "^(?!^0+$)[a-zA-Z0-9]{3,20}$"

    let passportPred = NSPredicate(format:"SELF MATCHES %@", passportRegEx)
    return passportPred.evaluate(with: passportStr)
  }

Swift 3.0 之前的版本:

func isValidPassport(passportStr:String) -> Bool {

    let passportRegEx = "^(?!^0+$)[a-zA-Z0-9]{3,20}$"

    let passportPred = NSPredicate(format:"SELF MATCHES %@", passportRegEx)
    return passportPred.evaluate(with: passportStr)
}

早于 1.2 的 Swift:

class func isValidPassport(passportStr:String) -> Bool {

    let passportRegEx = "^(?!^0+$)[a-zA-Z0-9]{3,20}$"

    if let passportPred = NSPredicate(format:"SELF MATCHES %@", passportRegEx) {
        return passportPred.evaluateWithObject(passportStr)
    }
    return false
}

推荐阅读