我是新手,需要验证国际护照。有什么办法可以验证它。
答案 0 :(得分:0)
尝试使用 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:
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
}
答案 1 :(得分:0)
这很简单。您可以像下面这样检查
extension String {
func isValidPassport() -> Bool {
let PASSPORT_REG_EX = "^(?!^0+$)[a-zA-Z0-9]{3,20}$"
let passport = NSPredicate(format:"SELF MATCHES %@", PASSPORT_REG_EX)
if (self.count >= 6) {
return passport.evaluate(with: self)
} else {
return false
}
}
}
使用String Extension
并重复使用其余的应用程序
let passport = "AS345501"
passport.isValidPassport()
注意:How to validate a passport?
英国护照号码由9位数字组成,但过去通常由6位数字组成 数字和字母。
快乐的编码...