正则验证
2017-02-15 本文已影响5人
liyc_dev
迁移自开源中国
以下验证不计算长度
- 验证字符串
- (BOOL)validateNickname:(NSString *)nickname {
// 不包含特殊字符 // 特殊字符包含`、-、=、\、[、]、;、'、,、.、/、~、!、@、#、$、%、^、&、*、(、)、_、+、|、?、>、<、"、:、{、}
NSString *nicknameRegex = @".*[-`=\\\[\\];',./~!@#$%^&*()_+|{}:\"<>?]+.*";
NSPredicate *nicknamePredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", nicknameRegex];
return ![nicknamePredicate evaluateWithObject:nickname];
}
- 验证密码
- (BOOL)validatePassword:(NSString *)password {
// 特殊字符包含`、-、=、\、[、]、;、'、,、.、/、~、!、@、#、$、%、^、&、*、(、)、_、+、|、?、>、<、"、:、{、}
// 必须包含数字和字母,可以包含上述特殊字符。
// 依次为(如果包含特殊字符)
// 数字 字母 特殊
// 字母 数字 特殊
// 数字 特殊 字母
// 字母 特殊 数字
// 特殊 数字 字母
// 特殊 字母 数字
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];
}