遷移自開源中國
以下驗(yàn)證不計(jì)算長度
- 驗(yàn)證字符串
- (BOOL)validateNickname:(NSString *)nickname {
// 不包含特殊字符 // 特殊字符包含`舍扰、-倦蚪、=、\边苹、[陵且、]、;个束、'慕购、,、.播急、/脓钾、~、!桩警、@可训、#、$、%握截、^飞崖、&、*谨胞、(固歪、)、_胯努、+牢裳、|、?叶沛、>蒲讯、<、"灰署、:判帮、{、}
NSString *nicknameRegex = @".*[-`=\\\[\\];',./~!@#$%^&*()_+|{}:\"<>?]+.*";
NSPredicate *nicknamePredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", nicknameRegex];
return ![nicknamePredicate evaluateWithObject:nickname];
}
- 驗(yàn)證密碼
- (BOOL)validatePassword:(NSString *)password {
// 特殊字符包含`溉箕、-晦墙、=、\肴茄、[晌畅、]、;寡痰、'踩麦、,、.氓癌、/、~贫橙、!贪婉、@、#卢肃、$疲迂、%、^莫湘、&尤蒿、*、(幅垮、)腰池、_、+、|示弓、?讳侨、>、<奏属、"跨跨、:、{囱皿、}
// 必須包含數(shù)字和字母勇婴,可以包含上述特殊字符。
// 依次為(如果包含特殊字符)
// 數(shù)字 字母 特殊
// 字母 數(shù)字 特殊
// 數(shù)字 特殊 字母
// 字母 特殊 數(shù)字
// 特殊 數(shù)字 字母
// 特殊 字母 數(shù)字
NSString *passWordRegex = @"(\\d+[a-zA-Z]+[-`=\\\[\\];',./~!@#$%^&*()_+|{}:\"<>?]*)|([a-zA-Z]+\\d+[-`=\\\[\\];',./~!@#$%^&*()_+|{}:\"<>?]*)|(\\d+[-`=\\\[\\];',./~!@#$%^&*()_+|{}:\"<>?]*[a-zA-Z]+)|([a-zA-Z]+[-`=\\\[\\];',./~!@#$%^&*()_+|{}:\"<>?]*\\d+)|([-`=\\\[\\];',./~!@#$%^&*()_+|{}:\"<>?]*\\d+[a-zA-Z]+)|([-`=\\\[\\];',./~!@#$%^&*()_+|{}:\"<>?]*[a-zA-Z]+\\d+)";
NSPredicate *passWordPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", passWordRegex];
return [passWordPredicate evaluateWithObject:password];
}