`
hotfm
  • 浏览: 52718 次
  • 性别: 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开发中的正则表达式 #### 一、引言 正则表达式作为一种强大的文本处理工具,在软件开发中有着广泛的应用。特别是在iOS开发领域,掌握正则表达式的使用方法能够极大地提升开发者处理字符串的能力。本文档...

    判断iphonex

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

    JSP判断移动设备的正则

    例如,`\b(ip(hone|od)|android|opera m(ob|in)i)`匹配iPhone、iPod、Android和Opera Mini等移动设备。`\b`是单词边界,确保匹配整个设备名称。 - 另一个正则表达式`\b(ipad|tablet|(Nexus 7)|up.browser)`则用于...

    iPhone狂:约会iPhone

    根据提供的标题“iPhone狂:约会iPhone”以及描述“iPhone狂:约会iPhone”,我们可以理解这篇文章主要聚焦于iPhone的相关内容。然而,由于正文部分并未提供具体的信息或数据,我们将基于标题和描述来探讨与iPhone...

    axure iphone手机元件库原型库

    此外,这个库可能还包含了iPhone的屏幕尺寸适配元素,例如针对不同尺寸的iPhone(如iPhone SE、iPhone 8、iPhone X系列)的布局和组件。 使用这个元件库,原型设计师无需从零开始绘制每个组件,可以直接拖放这些...

    iPhone4、iPhone4s、iPhone5、完美越狱工具包下载

    《iPhone4、iPhone4s、iPhone5 完美越狱工具包详解》 在iOS设备的世界里,"越狱"一词对许多用户而言并不陌生。越狱是指通过技术手段解除Apple公司对iPhone等设备的封闭系统限制,使得用户能够自定义设备、安装非App...

    axureiPhone机型元件库

    对于iPhone元件库,其涵盖了多种iPhone机型,例如iPhone SE、iPhone 6/6S/7/8系列、iPhone X/XS系列、iPhone XR、iPhone 11系列、iPhone 12系列以及iPhone 13系列等。这些模型不仅包括手机的外观,还可能包括屏幕...

    iPhone 11维修资料

    《iPhone 11维修资料详解》 在当今的科技时代,智能手机已经成为我们日常生活的重要组成部分,尤其是像iPhone 11和iPhone 11 Pro这样的高端设备。这些设备集成了先进的技术,为用户带来了卓越的体验。然而,随着...

    iPhone提示音大全

    在IT领域,特别是移动设备部分,苹果公司的iPhone一直以其独特的用户体验和设计著称。其中,iPhone的提示音是用户日常操作中不可或缺的一部分,它们为用户提供了一系列声音反馈,以告知用户各种事件的发生。在这个名...

    Axure元件库iPhone

    "Axure元件库iPhone"是专门为设计iPhone应用原型而定制的一套元件集合。该库不仅提高了设计效率,还确保了设计的准确性和一致性,因为这些元件都是按照iOS设备的界面规范和设计风格制作的。 首先,我们来看一下...

    iphone13通用ipcc49.0.zip

    标题中的“iphone13通用ipcc49.0.zip”表明这是一个与苹果iPhone 13设备相关的软件更新或配置文件,IPCC(International Provider Configuration)是Apple用来管理运营商设置的一种文件格式。这些设置通常涉及手机的...

    iphone13 ios ipcc52.0.zip

    标题 "iphone13 ios ipcc52.0.zip" 暗示了这可能是一个针对iPhone 13设备的iOS更新文件,其中包含了IPCC(International Provider Configuration)文件。IPCC文件是苹果设备用于设置运营商配置的重要文件,它通常...

    Iphone XS 电路原理图.pdf

    iPhone XS 电路原理图 iPhone XS 电路原理图是苹果公司生产的 iPhoneXS 手机的电路原理图。该图纸详细介绍了 iPhoneXS 手机的电路设计,包括电源管理、射频组件、天线设计、存储器设计、处理器设计等方面的技术细节...

    iphone4完整电路图PCB

    《iPhone 4 完整电路图PCB详解》 iPhone 4是苹果公司在2010年推出的一款标志性智能手机,其设计与技术在当时堪称业界领先。本篇将深入解析iPhone 4的完整电路图PCB(Printed Circuit Board),帮助读者理解这款设备...

    苹果Iphone原机铃声包

    【苹果iPhone原机铃声包】是一份专为苹果iPhone用户设计的资源集合,它包含了iPhone出厂时预装的一些经典铃声。这些铃声是苹果公司精心挑选并制作的,旨在提供用户多样化的选择,以满足不同用户的个性化需求。通过这...

    电脑免费发表iPhone说说

    想在普通电脑上让你发表的空间说说显示来自iPhone嘛?火狐专用浏览器就可以实现这个效果!不但可以显示发布的说说来自iPhone触屏版,还可以显示iPad或android,绝对给力,不管你信不信,反正我是信了,我已经测试100%...

    iphone X iphone 8 原型框

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

    iPhone4S 5.1.1固件

    ### iPhone4S 5.1.1固件详解 #### 一、固件版本与设备兼容性 在本文档中,我们重点介绍的是iPhone 4S的5.1.1固件版本及其相关信息。固件是指设备上的底层操作系统,对于苹果设备而言,这通常指的是iOS系统的一个...

    原汁原味iPhone内置铃声大放送

    本主题聚焦于“原汁原味iPhone内置铃声大放送”,这表明我们将探讨如何获取、设置以及管理苹果iPhone设备上的内置及自定义铃声。 iPhone设备以其精致的设计和流畅的操作系统闻名,而其内置的铃声也是其特色之一。...

Global site tag (gtag.js) - Google Analytics