`
hotfm
  • 浏览: 51079 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

iphone 注册校验(正则)

阅读更多

最近在做用户管理程序,在做的过程中用户注册信息校验在网上查了好久,没查到现成的代码,只能自己写了,
代码放在这里,有需要直接拿去。自己也做备份,以后使用方便。
//校验用户名
+ (BOOL) validateUserName : (NSString *) str
{
    NSString *patternStr = [NSString stringWithFormat:@"^.{0,4}$|.{21,}|^[^A-Za-z0-9\u4E00-\u9FA5]|[^\\w\u4E00-\u9FA5.-]|([_.-])\1"];
    NSRegularExpression *regularexpression = [[NSRegularExpression alloc] 
                                              initWithPattern:patternStr
                                              options:NSRegularExpressionCaseInsensitive 
                                              error:nil];
    NSUInteger numberofMatch = [regularexpression numberOfMatchesInString:str 
                                                                  options:NSMatchingReportProgress
                                                                    range:NSMakeRange(0, str.length)];
    
    [regularexpression release];
    
    if(numberofMatch > 0)
    {
        return YES;
    }
    return NO;
}

//校验用户密码
+ (BOOL) validateUserPasswd : (NSString *) str
{
    
    NSRegularExpression *regularexpression = [[NSRegularExpression alloc] 
                                              initWithPattern:@"^[a-zA-Z0-9]{6,16}$"
                                              options:NSRegularExpressionCaseInsensitive 
                                              error:nil];
    NSUInteger numberofMatch = [regularexpression numberOfMatchesInString:str 
                                                                  options:NSMatchingReportProgress
                                                                    range:NSMakeRange(0, str.length)];
    
    [regularexpression release];
    
    if(numberofMatch > 0)
    {
        NSLog(@"%@ isNumbericString: YES", str);
        return YES;
    }
    
    NSLog(@"%@ isNumbericString: NO", str);
    return NO;
}

//校验用户生日
+ (BOOL) validateUserBornDate : (NSString *) str
{
    
    NSString *patternStr = @"^((((1[6-9]|[2-9]\\d)\\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\\d|3[01]))|(((1[6-9]|[2-9]\\d)\\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\\d|30))|(((1[6-9]|[2-9]\\d)\\d{2})-0?2-(0?[1-9]|1\\d|2[0-8]))|(((1[6-9]|[2-9]\\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$";
    NSRegularExpression *regularexpression = [[NSRegularExpression alloc] 
                                              initWithPattern:patternStr
                                              options:NSRegularExpressionCaseInsensitive 
                                              error:nil];
    NSUInteger numberofMatch = [regularexpression numberOfMatchesInString:str 
                                                                  options:NSMatchingReportProgress
                                                                    range:NSMakeRange(0, str.length)];
    
    [regularexpression release];
    
    if(numberofMatch > 0)
    {
        NSLog(@"%@ isNumbericString: YES", str);
        return YES;
    }
    
    NSLog(@"%@ isNumbericString: NO", str);
    return NO;
}

//校验用户手机号码
+ (BOOL) validateUserPhone : (NSString *) str
{
    NSRegularExpression *regularexpression = [[NSRegularExpression alloc] 
                                              initWithPattern:@"((\\d{11})|^((\\d{7,8})|(\\d{4}|\\d{3})-(\\d{7,8})|(\\d{4}|\\d{3})-(\\d{7,8})-(\\d{4}|\\d{3}|\\d{2}|\\d{1})|(\\d{7,8})-(\\d{4}|\\d{3}|\\d{2}|\\d{1}))$)"
                                              options:NSRegularExpressionCaseInsensitive 
                                              error:nil];
    NSUInteger numberofMatch = [regularexpression numberOfMatchesInString:str 
                                                                  options:NSMatchingReportProgress
                                                                    range:NSMakeRange(0, str.length)];
    
    [regularexpression release];
    
    if(numberofMatch > 0)
    {
        NSLog(@"%@ isNumbericString: YES", str);
        return YES;
    }
    
    NSLog(@"%@ isNumbericString: NO", str);
    return NO;
}

//校验用户邮箱
+ (BOOL) validateUserEmail : (NSString *) str
{
    NSRegularExpression *regularexpression = [[NSRegularExpression alloc] 
                                              initWithPattern:@"\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*"
                                              options:NSRegularExpressionCaseInsensitive 
                                              error:nil];
    NSUInteger numberofMatch = [regularexpression numberOfMatchesInString:str 
                                                                  options:NSMatchingReportProgress
                                                                    range:NSMakeRange(0, str.length)];
    
    [regularexpression release];
    
    if(numberofMatch > 0)
    {
        NSLog(@"%@ isNumbericString: YES", str);
        return YES;
    }
    
    NSLog(@"%@ isNumbericString: NO", str);
    return NO;
}
 
1
0
分享到:
评论

相关推荐

    Iphone开发中的正则表达式

    这本教程详细的介绍了iphone中正则表达式的使用细节,对于开发者来说是哥不可或缺的好好教材啊,希望可以帮助到热爱学习的童鞋们

    判断iphonex

    判断iphonex的一个简单方法,正则匹配。js判断当前手机是不是iphonex

    iphone X iphone 8 原型框

    iphone X iphone 8 原型框 iphone X iphone 8 原型框

    Iphone开发系列源码——Iphone主题源码

    Iphone开发系列源码——Iphone主题源码Iphone开发系列源码——Iphone主题源码Iphone开发系列源码——Iphone主题源码Iphone开发系列源码——Iphone主题源码Iphone开发系列源码——Iphone主题源码Iphone开发系列源码...

    iPhone狂:约会iPhone

    iPhone狂:约会iPhone

    Iphone开发系列源码——iPhone版Wordpress源代码

    Iphone开发系列源码——iPhone版Wordpress源代码Iphone开发系列源码——iPhone版Wordpress源代码Iphone开发系列源码——iPhone版Wordpress源代码Iphone开发系列源码——iPhone版Wordpress源代码Iphone开发系列源码...

    iPhone视频转换器(iPhone Video Converter) v3.87 中文注册版.rar

    3herosoft iPhone视频转换器是一个iPhone音乐转换器,它可以转换任何音频和视频格式,如WMA,MP2,AMR,OGG,RA,AC3到MP3,M4A,AAC和iPhone 3G播放的WAV,iPhone3GS,iPad 2,即使是最新的苹果iPad,iPhone 4S,...

    iPhone开发秘籍.part1.rar

    The iPhone Developer's Cookbook Building Application with the iPhone SDK iPhone 开发秘籍 【美】 Erica Sadun 著 漆振 谢巧云 郎亚妹 等译 人民邮电出版社

    iphoneos-arm

    iphoneos-arm iPhone 必备工具

    卡IPHONE在线支持MAX

    卡iPhone在线支持MAX右键执行本站登录上iPhone,再选择你要卡的机型开始工作即可。 目前只有iphone 9、XS、XS Plus在线,建议卡XS在线比较真实,因为腾讯这边还没更新 腾讯这边如果更新XR、Max,软件也会进行更新 ...

    Iphone开发系列源码——Image图片缩放随着手指

    Iphone开发系列源码——Image图片缩放随着手指Iphone开发系列源码——Image图片缩放随着手指Iphone开发系列源码——Image图片缩放随着手指Iphone开发系列源码——Image图片缩放随着手指Iphone开发系列源码——Image...

    iphone铃声制作软件简体中文版.zip

    软件介绍: iphone铃声制作软件能够将其他音频文件...当提示注册时,输入任意字符即可成功注册。注意:当提示更新时,请勿更新软件,否则将无法使用。可以设置声音谈入或设置铃声的起点和终点,自定义选择转换范围。

    iphone3,1 shsh iphone4 5.1.1

    iphone3,1 shsh iphone4 5.1.1iphone3,1 shsh iphone4 5.1.1

    iPhone4各版本shsh

    iPhone4各版本shsh

    iOS原生正则表达式以及NSArray快捷过滤

    NSPredicate应用,包括以下几个部分: 1、字符串,正则表达式的匹配; 2、字符串数组NSArray和NSMutableArray的快捷过滤方式; 3、自定义对象数组NSArray和NSMutableArray的快捷过滤方式;

    iphone SDK 下载BT

    iphone SDK 下载BT

    iphone苹果广电IPCC

    ①iphoneX及以下,旧款苹果可以用广电。②附件是压缩包,123.zip,解压出来,“CBN_cn_iPhone.ipcc”。③爱思助手,--工具箱---更新IPCC文件,选择本地IPCC---“CBN_cn_iPhone.ipcc”,立即更新,完成后,重启,或...

    ios iphone iphone桌面截图代码

    ios iphone 源码 iphone桌面截图代码

    iphone4/iphone4s无信号解决方法

    iphone4/iphone4s无信号解决方法

Global site tag (gtag.js) - Google Analytics