常用的正则表达式
来源:互联网 发布:mac 截图 任意区域 编辑:程序博客网 时间:2024/06/11 17:41
//// HelperUtil.m// SQLite(购物)//// Created by Yock Deng on 15/8/22.// Copyright (c) 2015年 蓝桥. All rights reserved.//#import "HelperUtil.h"@implementation HelperUtil+ (NSString *) nullDefultString: (NSString *)fromString null:(NSString *)nullStr{ if ([fromString isEqualToString:@""] || [fromString isEqualToString:@"(null)"] || [fromString isEqualToString:@"<null>"] || [fromString isEqualToString:@"null"] || fromString==nil) { return nullStr; }else{ return fromString; }}+ (NSString *)htmlShuangyinhao:(NSString *)values{ if (values == nil) { return @""; } /* 字符串的替换 注:将字符串中的参数进行替换 参数1:目标替换值 参数2:替换成为的值 参数3:类型为默认:NSLiteralSearch 参数4:替换的范围 */ NSMutableString *temp = [NSMutableString stringWithString:values]; [temp replaceOccurrencesOfString:@"\"" withString:@"'" options:NSLiteralSearch range:NSMakeRange(0, [temp length])]; [temp replaceOccurrencesOfString:@"\n" withString:@"" options:NSLiteralSearch range:NSMakeRange(0, [temp length])]; [temp replaceOccurrencesOfString:@"\r" withString:@"" options:NSLiteralSearch range:NSMakeRange(0, [temp length])]; return temp;}+ (UIColor *) colorWithHexString: (NSString *) stringToConvert{ NSString *cString = [[stringToConvert stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] uppercaseString]; // String should be 6 or 8 characters if ([cString length] < 6) return [UIColor colorWithWhite:1.0 alpha:0.5]; // strip 0X if it appears if ([cString hasPrefix:@"0X"]) cString = [cString substringFromIndex:2]; if ([cString hasPrefix:@"#"]) cString = [cString substringFromIndex:1]; if ([cString length] != 6) return [UIColor colorWithWhite:1.0 alpha:0.5]; // Separate into r, g, b substrings NSRange range; range.location = 0; range.length = 2; NSString *rString = [cString substringWithRange:range]; range.location = 2; NSString *gString = [cString substringWithRange:range]; range.location = 4; NSString *bString = [cString substringWithRange:range]; // Scan values unsigned int r, g, b; [[NSScanner scannerWithString:rString] scanHexInt:&r]; [[NSScanner scannerWithString:gString] scanHexInt:&g]; [[NSScanner scannerWithString:bString] scanHexInt:&b]; return [UIColor colorWithRed:((float) r / 255.0f) green:((float) g / 255.0f) blue:((float) b / 255.0f) alpha:1.0f];}#pragma 正则匹配邮箱号+ (BOOL)checkMailInput:(NSString *)mail{ NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"; NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex]; return [emailTest evaluateWithObject:mail];}#pragma 正则匹配手机号+ (BOOL)checkTelNumber:(NSString *) telNumber{ /** * 手机号码 * 移动:134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188 * 联通:130,131,132,152,155,156,185,186 * 电信:133,1349,153,180,189 */ NSString * MOBILE = @"^1(3[0-9]|5[0-35-9]|8[025-9])\\d{8}$"; /** 10 * 中国移动:China Mobile 11 * 134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188 12 */ NSString * CM = @"^1(34[0-8]|(3[5-9]|5[017-9]|8[278])\\d)\\d{7}$"; /** 15 * 中国联通:China Unicom 16 * 130,131,132,152,155,156,183,185,186 17 */ NSString * CU = @"^1(3[0-2]|5[256]|8[356])\\d{8}$"; /** 20 * 中国电信:China Telecom 21 * 133,1349,153,180,189 22 */ NSString * CT = @"^1((33|53|8[09])[0-9]|349)\\d{7}$"; /** 25 * 大陆地区固话及小灵通 26 * 区号:010,020,021,022,023,024,025,027,028,029 27 * 号码:七位或八位 28 */ // NSString * PHS = @"^0(10|2[0-5789]|\\d{3})\\d{7,8}$"; NSPredicate *regextestmobile = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", MOBILE]; NSPredicate *regextestcm = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CM]; NSPredicate *regextestcu = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CU]; NSPredicate *regextestct = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CT]; if (([regextestmobile evaluateWithObject:telNumber] == YES) || ([regextestcm evaluateWithObject:telNumber] == YES) || ([regextestct evaluateWithObject:telNumber] == YES) || ([regextestcu evaluateWithObject:telNumber] == YES)) { return YES; } else { return NO; }}#pragma 正则匹配用户密码6-18位数字和字母组合+ (BOOL)checkPassword:(NSString *) password{ NSString *pattern = @"^(?![0-9]+$)(?![a-zA-Z]+$)[a-zA-Z0-9]{6,18}"; NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", pattern]; BOOL isMatch = [pred evaluateWithObject:password]; return isMatch;}#pragma 正则匹配用户姓名,20位的中文或英文+ (BOOL)checkUserName : (NSString *) userName{// NSString *pattern = @"^[A-Za-z0-9]{6,20}+$"; NSString *pattern = @"^([\u4e00-\u9fa5]+|([a-zA-Z]+\s?)+)$"; NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", pattern]; BOOL isMatch = [pred evaluateWithObject:userName]; return isMatch;}#pragma 正则匹配用户身份证号15或18位+ (BOOL)checkUserIdCard: (NSString *) idCard{ BOOL flag; if (idCard.length <= 0) { flag = NO; return flag; } NSString *regex2 = @"^(\\d{14}|\\d{17})(\\d|[xX])$"; NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex2]; BOOL isMatch = [pred evaluateWithObject:idCard]; return isMatch;}#pragma 正则匹员工号,12位的数字+ (BOOL)checkEmployeeNumber : (NSString *) number{ NSString *pattern = @"^[0-9]{12}"; NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", pattern]; BOOL isMatch = [pred evaluateWithObject:number]; return isMatch;}#pragma 正则匹配URL+ (BOOL)checkURL : (NSString *) url{ NSString *pattern = @"^[0-9A-Za-z]{1,50}"; NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", pattern]; BOOL isMatch = [pred evaluateWithObject:url]; return isMatch;}#pragma 正则匹配昵称+ (BOOL) checkNickname:(NSString *) nickname{ NSString *nicknameRegex = @"^[\u4e00-\u9fa5]{4,8}$"; NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",nicknameRegex]; BOOL isMatch = [pred evaluateWithObject:nickname]; return isMatch;}#pragma 正则匹配以C开头的18位字符+ (BOOL) checkCtooNumberTo18:(NSString *) nickNumber{ NSString *nickNum=@"^C{1}[0-9]{18}$"; NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",nickNum]; BOOL isMatch = [pred evaluateWithObject:nickNumber]; return isMatch;}#pragma 正则匹配以C开头字符+ (BOOL) checkCtooNumber:(NSString *) nickNumber{ NSString *nickNum=@"^C{1}[0-9]+$"; NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",nickNum]; BOOL isMatch = [pred evaluateWithObject:nickNumber]; return isMatch;}#pragma 正则匹配银行卡号是否正确+ (BOOL) checkBankNumber:(NSString *) bankNumber{ NSString *bankNum=@"^([0-9]{16}|[0-9]{19})$"; NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",bankNum]; BOOL isMatch = [pred evaluateWithObject:bankNumber]; return isMatch;}#pragma 正则匹配17位车架号+ (BOOL) checkCheJiaNumber:(NSString *) CheJiaNumber{ NSString *bankNum=@"^(\\d{17})$"; NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",bankNum]; BOOL isMatch = [pred evaluateWithObject:CheJiaNumber]; return isMatch;}#pragma 正则只能输入数字和字母+ (BOOL) checkTeshuZifuNumber:(NSString *) CheJiaNumber{ NSString *bankNum=@"^[A-Za-z0-9]+$"; NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",bankNum]; BOOL isMatch = [pred evaluateWithObject:CheJiaNumber]; return isMatch;}#pragma 车牌号验证+ (BOOL) checkCarNumber:(NSString *) CarNumber{ NSString *bankNum = @"^[\u4e00-\u9fa5]{1}[a-zA-Z]{1}[a-zA-Z_0-9]{4}[a-zA-Z_0-9_\u4e00-\u9fa5]$"; NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",bankNum]; BOOL isMatch = [pred evaluateWithObject:CarNumber]; return isMatch;}@end
0 0
- 正则表达式---常用的正则
- 正则表达式---常用的正则
- 正则表达式 常用的正则
- 常用的正则表达式
- 常用的正则表达式
- 常用的正则表达式
- 常用的正则表达式
- 常用的正则表达式
- 常用的正则表达式
- 常用的正则表达式
- 常用的正则表达式
- 常用的正则表达式
- 常用的正则表达式
- 常用的正则表达式
- 常用的正则表达式
- 常用的正则表达式
- 常用的正则表达式
- 正则表达式--常用的
- Android性能优化 浅析
- Android Viewflipper详解。。
- segment fault
- Android application详解与用法
- oracle常用的sql
- 常用的正则表达式
- Java 多线程 并发编程
- 在编写html文件当中submit 和 button有什么区别
- onActivityResult
- sys.sysobjects (Transact-SQL)
- C++引用调用、内联函数、带默认形参值的函数
- 测试搜集android:bug的方法(基于人测试的)
- Lua实现计算 UTF8 字符串的长度,每一个中文算一个字符
- android sqlite blob