波兰国家身份号码 PESEL 验证器
KZPeselValidator 同时使用两种方法验证 PESEL
方法一: (9×a + 7×b + 3×c + 1×d + 9×e + 7×f + 3×g + 1×h + 9×i + 7×j) % 10 == 校验位 (PESEL 的最后一位)
方法二: (1×a + 3×b + 7×c + 9×d + 1×e + 3×f + 7×g + 9×h + 1×i + 3×j + 1×k) % 10 == 0
字母 'a' 到 'k' 是 PESEL 号码的后续数字。
您可以使用 CocoaPods,通过将其添加到您的 Podfile
文件中来安装 KZPeselValidator
适用于 Swift 5.0
platform :ios, '8.0'
use_frameworks!
pod 'KZPeselValidator'
适用于 Swift 4.2
platform :ios, '8.0'
use_frameworks!
pod 'KZPeselValidator', '= 0.6'
创建一个列出框架的 Cartfile
文件,并运行 carthage update
。 按照 说明 将 $(SRCROOT)/Carthage/Build/iOS/KZPeselValidator.framework
添加到 iOS 项目中。
github "konradzdunczyk/KZPeselValidator"
import KZPeselValidator
let peselValidator = KZPeselValidator()
let peselValidationResult = peselValidator.validate(peselNumber: "76040117112")
switch peselValidationResult {
case .valid(let peselNumber):
print("Pesel \(peselNumber) is valid")
case .invalid(let peselNumber):
print("Pesel \(peselNumber) is invalid")
}
import KZPeselValidator
let peselParser = KZPeselParser()
let parseResult = peselParser.parse(peselNumber: "76040117112")
switch parseResult {
case .success(let peselInfo):
var birthDateComponents = peselInfo.birthDateComponents
// date from birthDateComponents without calendar is invalid!
birthDateComponents.calendar = Calendar.current
print("Pesel \(peselInfo.pesel) is valid")
print("Birthdate: \(birthDateComponents.date!)")
print("Sex: ", terminator: "")
switch peselInfo.sex {
case .male:
print("male")
case .female:
print("female")
}
case .peselInvalid(let peselNumber):
print("Pesel \(peselNumber) is invalid")
}
如果您能为 KZPeselValidator 做出贡献,我将非常感谢您,请查看 LICENSE
文件以获取更多信息。
Konrad Zdunczyk – konrad.zdunczyk@gmail.com
根据 MIT 许可证分发。 有关更多信息,请参阅 LICENSE
。
https://github.com/konradzdunczyk/KZPeselValidator
我使用了 SwiftPlate 来生成与 CocoaPods 和 Carthage 兼容的 xcodeproj。