import Foundation struct ValidationHelper { /// 验证邮箱地址格式是否正确 /// - Parameter email: 邮箱地址 /// - Returns: 是否为有效的邮箱格式 static func isValidEmail(_ email: String) -> Bool { let emailRegex = "^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}$" let emailPredicate = NSPredicate(format: "SELF MATCHES %@", emailRegex) return emailPredicate.evaluate(with: email) } /// 验证手机号码格式是否正确(中国大陆) /// - Parameter phoneNumber: 手机号码 /// - Returns: 是否为有效的手机号格式 static func isValidPhoneNumber(_ phoneNumber: String) -> Bool { let phoneRegex = "^1[3-9]\\d{9}$" let phonePredicate = NSPredicate(format: "SELF MATCHES %@", phoneRegex) return phonePredicate.evaluate(with: phoneNumber) } /// 验证密码强度 /// - Parameter password: 密码 /// - Returns: 是否满足密码强度要求(6-16位,包含字母和数字) static func isValidPassword(_ password: String) -> Bool { guard password.count >= 6 && password.count <= 16 else { return false } let hasLetter = password.rangeOfCharacter(from: .letters) != nil let hasNumber = password.rangeOfCharacter(from: .decimalDigits) != nil return hasLetter && hasNumber } /// 验证验证码格式 /// - Parameter code: 验证码 /// - Returns: 是否为有效的验证码格式(4-6位数字) static func isValidVerificationCode(_ code: String) -> Bool { let codeRegex = "^\\d{4,6}$" let codePredicate = NSPredicate(format: "SELF MATCHES %@", codeRegex) return codePredicate.evaluate(with: code) } }