iphone中使用第三方工具(RegexKitLite)实现正则表达式
来源:互联网 发布:音频剪辑软件 简单 编辑:程序博客网 时间:2024/05/16 14:07
http://labs.ywlx.net/?p=2299
赢文用户注册功能模块中需要检查邮箱合法性,这里分享一下两种实现方法。
方法一)RegexKitLite
1)下载地址:http://regexkit.sourceforge.net/RegexKitLite/index.html
2)解压后,将NSString-HexConversion.h/NSString-HexConversion.m添加到工程中
3)工程中添加libicucore.dylib frameworks。
4)用法:
NSString *sEmail = @”he.wenhao@163.com”;
[sEmail isMatchedByRegex:@"\\b([a-zA-Z0-9%_.+\\-]+)@([a-zA-Z0-9.\\-]+?\\.[a-zA-Z]{2,6})\\b”];
返回YES,表示合法
5)常用的一些正则表达式:具体参考官方文档http://regexkit.sourceforge.net/RegexKitLite/index.html
方法二)字符串操作
+(BOOL)validateEmail:(NSString*)email
{
if((0 != [email rangeOfString:@"@"].length) &&
(0 != [email rangeOfString:@"."].length))
{
NSCharacterSet* tmpInvalidCharSet = [[NSCharacterSet alphanumericCharacterSet] invertedSet];
NSMutableCharacterSet* tmpInvalidMutableCharSet = [[tmpInvalidCharSet mutableCopy] autorelease];
[tmpInvalidMutableCharSet removeCharactersInString:@"_-"];
//使用compare option 来设定比较规则,如
//NSCaseInsensitiveSearch是不区分大小写
//NSLiteralSearch 进行完全比较,区分大小写
//NSNumericSearch 只比较定符串的个数,而不比较字符串的字面值
NSRange range1 = [email rangeOfString:@"@"
options:NSCaseInsensitiveSearch];
//取得用户名部分
NSString* userNameString = [email substringToIndex:range1.location];
NSArray* userNameArray = [userNameString componentsSeparatedByString:@"."];
for(NSString* string in userNameArray)
{
NSRange rangeOfInavlidChars = [string rangeOfCharacterFromSet: tmpInvalidMutableCharSet];
if(rangeOfInavlidChars.length != 0 || [string isEqualToString:@""])
return NO;
}
NSString *domainString = [email substringFromIndex:range1.location+1];
NSArray *domainArray = [domainString componentsSeparatedByString:@"."];
for(NSString *string in domainArray)
{
NSRange rangeOfInavlidChars=[string rangeOfCharacterFromSet:tmpInvalidMutableCharSet];
if(rangeOfInavlidChars.length !=0 || [string isEqualToString:@""])
return NO;
}
return YES;
}
else // no ”@” or ”.” present
return NO;
}
- iphone中使用第三方工具(RegexKitLite)实现正则表达式
- iphone中使用第三方工具(RegexKitLite)实现正则表达式
- iphone中使用第三方工具(RegexKitLite)实现正则表达式
- iphone中使用第三方工具(RegexKitLite)实现正则表达式
- iphone中使用第三方工具(RegexKitLite)实现正则表达式
- iphone中使用第三方工具(RegexKitLite)实现正则表达式
- iphone中使用第三方工具(RegexKitLite)实现正则表达式
- IOS使用第三方工具(RegexKitLite)实现正则表达式
- IOS使用第三方工具(RegexKitLite)实现正则表达式
- iOS使用第三方工具(RegexKitLite)实现正则表达式
- iPhone中用第三方工具(RegexKitLite)实现正则表达
- IOS使用第三方工具(RegexKitLite)实现正则表达式小结
- [iphone]使用(RegexKitLite)实现正则表达式 [转]
- [iphone]使用(RegexKitLite)实现正则表达式 [转]
- 关于IOS第三方库RegexKitLite使用正则表达式查找NSString中的IP地址
- RegexKitLite实现正则表达式
- iOS中使用正则表达式 RegexKitLite
- 使用RegexKitLite使iphone也可以使用正则表达式
- 【OpenCV】SIFT原理与源码分析:DoG尺度空间构造
- 使用Dojo调用Struts的Action
- JAVA线程定时器(web)
- Java 实现压缩文件
- android Toast大全(五种情形)建立属于你自己的Toast
- iphone中使用第三方工具(RegexKitLite)实现正则表达式
- Hadoop 权限管理
- google Maps V3测距
- 二叉树遍历---已知前序遍历和中序遍历求其后序
- java web缓冲
- JAVA接口的概念、分类及与抽象类的区别
- C++智能指针循环引用解决
- eclipse默认编码为GBK,修改为UTF8的方法
- WinCE6.0 下载