/**
* 检测手机号码
*/
+ (BOOL)checkTel:(NSString *)str {
if (str.length != 11) {
[SVProgressHUD showErrorWithStatus:@"请输入正确的手机号码"];
return NO;
}
NSString *regex = @"^((13[0-9])|(147)|(15[0-9])|(17[0,7-9])|(18[0-9]))\\d{8}$";
NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
BOOL isMatch = [pred evaluateWithObject:str];
if (!isMatch) {
[SVProgressHUD showErrorWithStatus:@"请输入正确的手机号码"];
return NO;
}
return YES;
}
/**
* 检测输入的内容 - 中文,字母或是数字
*/
+(BOOL)validateNickname:(NSString *)nickname{
NSString *nicknameRegex = @"^[\u4e00-\u9fa5A-Za-z0123456789]{1,10}$";
NSPredicate *passWordPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",nicknameRegex];
return [passWordPredicate evaluateWithObject:nickname];
}
/**
* 检测输入的内容 - 中文
*/
+(BOOL)validateNickname:(NSString *)nickname{
NSString *regex = @"[\u4e00-\u9fa5]+";
NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex];
return [pred evaluateWithObject:nickname];
}
/**
* 检测密码 - 6-16位 ,必须有数字和字母
*
*/
+ (BOOL)checkPassword:(NSString *)str{
if (str.length > 16 || str.length < 6) {
[SVProgressHUD showErrorWithStatus:@"请输入6-16位的密码"];
return NO;
}
NSString *regex = @"^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,16}$";
NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
BOOL isMatch = [pred evaluateWithObject:str];
if (!isMatch) {
[SVProgressHUD showErrorWithStatus:@"请输入由6-16位数字、字母组合的密码"];
return NO;
}
return YES;
}
/**
* 检测密码 - 6-16位 ,纯数字、纯英文、数字+英文
*
*/
+ (BOOL)checkPassword:(NSString *)str{
if (str.length > 16 || str.length < 6) {
[SVProgressHUD showErrorWithStatus:@"请输入6-16位的密码"];
return NO;
}
NSString *regex = @"^[A-Za-z0-9]{6,16}$";
NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
BOOL isMatch = [pred evaluateWithObject:str];
if (!isMatch) {
[SVProgressHUD showErrorWithStatus:@"请输入由6-16位数字、字母组合的密码"];
return NO;
}
return YES;
}
/**
* 检测密码 - 不能含有特殊字符
*
*/
+ (BOOL)checkPassword:(NSString *)str {
if (str.length > 16 || str.length < 6) {
[SVProgressHUD showErrorWithStatus:@"请输入正确的格式的密码"];
return NO;
}
NSString *regex = @"^(?!_)(?!.*?_$@#$%&)[a-zA-Z0-9\u4e00-\u9fa5]+$";
NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
BOOL isMatch = [pred evaluateWithObject:str];
if (!isMatch) {
[SVProgressHUD showErrorWithStatus:@"请输入正确的格式的密码"];
return NO;
}
return YES;
}
/**
* 检测价格
*
*/
+ (BOOL)checkPrice:(NSString *)str {
if (str.length == 0) {
[SVProgressHUD showErrorWithStatus:@"请输入商品价格"];
[SVProgressHUD setMinimumDismissTimeInterval:2];
return NO;
}
NSString *regex = @"^([0-9]|[.])+$";
NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
BOOL isMatch = [pred evaluateWithObject:str];
if (!isMatch) {
[SVProgressHUD showErrorWithStatus:@"请输入正确的格式的价格"];
return NO;
}
NSLog(@"%@",NSStringFromRange([str rangeOfString:@"."]));
if ([str rangeOfString:@"."].location != NSNotFound) {
if (str.length > 9) {
[SVProgressHUD showErrorWithStatus:@"请输入999999以内的价格"];
[SVProgressHUD setMinimumDismissTimeInterval:2];
return NO;
}
}
else {
if (str.length > 6) {
[SVProgressHUD showErrorWithStatus:@"请输入999999以内的价格"];
[SVProgressHUD setMinimumDismissTimeInterval:2];
return NO;
}
}
return YES;
}
/**
* 检测日期
*
*/
+ (NSString *)isToday:(NSString *)date {
NSDate *currentData = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"yyyy-MM-dd HH:mm:ss.S";
NSString *currentStr = [dateFormatter stringFromDate:currentData];
if ([[date substringToIndex:10] isEqualToString:[currentStr substringToIndex:10]]) {
return @"今天";
}
else {
return [currentStr substringToIndex:10];
}
}
/**
* 检测 是否登陆查看
*
*/
+ (BOOL)judgeUserLoginStateWithController:(UIViewController *)controller {
if (![LUUserInfo shareInstance].userPassword) {
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"" message:@"需要登录后才能访问" preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *login = [UIAlertAction actionWithTitle:@"登录" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
[controller presentViewController:[[LULoginViewController alloc] init] animated:YES completion:nil];
}];
UIAlertAction *cancel = [UIAlertAction actionWithTitle:@"再逛逛" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
}];
[alertController addAction:login];
[alertController addAction:cancel];
[controller presentViewController:alertController animated:YES completion:nil];
return NO;
}
else {
return YES;
}
}