目前这些方面的判断主要是用了正则表达式

手机号的判断,目前主要是长度、均是数字,支持的号段由于第三方通讯比如京东通讯,小米通讯等支持的号段挺多,

有171,170,135,147等等,所以号段限制简单即可。

@"^((13[0-9])|(147)|(17[0-9])|(15[^4,\\D])|(18[0,0-9]))\\d{8}$"

其实手机号格式主要是为了短信验证,如果更简单点保证11位数字即可。

密码验证的条件比较多,除了位数,是否包含空格(用string方法单独判断空格),有个可能是符号啊,正角半角啊。至少包含两种字符啊。

NSString * regex = @"^(?![\\d]+$)(?![a-zA-Z]+$)(?![^\\da-zA-Z]+$).{6,18}$";
        NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
       BOOL isMatch = [pred evaluateWithObject:self.passwordField.currentString];
        if (isMatch == NO) { // 不符合上面的正则,提示
          
          请输入6-18位字符。仅支持数字、大写字母、小写字母和特殊符号,且至少包含其中2种
           
            return;
      }

但密码支持的较多字符时,有时可以单独判断密码符合  密码必须为unicode 0~127

NSString * regex = @"^.*[\\u0000-\\u007f]{6,18}.*$";
            NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
            BOOL isMatch = [pred evaluateWithObject:self.passwordField.currentString];
            if (isMatch ==NO) {
                
                [BlackShowView alertViewShowInContentView:self.contentView message:@"请不要输入过于特殊的字符作为密码"];
                
                return;
            }

邮箱的判断比较简单

@"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";

身份证号

@"^(\\d{14}|\\d{17})(\\d|[xX])$";

还有有个比较常用的是判断是否输入了中文(注意此时是YES的状态,及不能包含中文)

// 是否包含中文^.*[\u4e00-\u9fa5].*$
        {
            NSString * regex = @"^.*[\u4e00-\u9fa5].*$";
            NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
            BOOL isMatch = [pred evaluateWithObject:self.accountField.currentString];
            if (isMatch ==YES) {
                
                [BlackShowView alertViewShowInContentView:self.contentView message:@"账号不能包含中文"];
                
                return;
            }
        
        
        }

iOS开发——手机号,密码,邮箱,身份证号,中文判断的更多相关文章

  1. 微信小程序常用表单校验方法(手机号校验、身份证号(严格和非严格校验、验证码六位数字校验))

    util.js function isPhone(value) { if (!/^1(3|4|5|7|8)\d{9}$/.test(value)) { return false } else { re ...

  2. 那些年一起用过的iOS开发利器[4月2号更新]

    4月2号新增Runscope. Runscope 这是一家专注于API工具开发的公司,其创始人John Sheehan曾就职于IFTTT和Twilio.Runscope是一款集调试.测试于一身的网络服 ...

  3. 【iOS开发-36】Bundle Identifier的中文字符变成-的问题

    在创建新项目时,Bundle Identifier=Organization Identifier+Product Name.可是它们对中文的识别统一变成短横线 - . 所以在创建多个项目的时候,须要 ...

  4. ios开发之--系统控件显示中文

    虽然一直知道X-code肯定提供有语言本地化的设置地方,但是一直也做个记录,有些时候的汉化,还是需要使用代码去控制,键盘的右下角.navagiton的return使用代码修改,调用系统相机时,也是出现 ...

  5. iOS开发中手机号码和价格金额有效性判断及特殊字符的限制

    在实际开发过程中,经常会遇到些不能让用户随便地输入手机号码,对输入的手机号码的正确判断:有些输入框只能输入数字,不能输入字母或特殊字符:还有些如价格金额之类的就只能输入数字和小数点且小数点后面保留两位 ...

  6. iOS开发小结 - 关于swift中#if DEBUG判断不执行的解决方案

    在以前的OC项目中我们经常用#if DEBUG来判断是否是在DEBUG模式下调试代码,然后最近我用swift写的项目中发现#if DEBUG判断居然不管用了,多方查证为果的情况下终于找到了解决方案,希 ...

  7. iOS开发时间戳与时间NSDate,时区的转换,汉字与UTF8,16进制的转换

    http://blog.sina.com.cn/s/blog_68661bd80101njdo.html 标签: ios时间戳 ios开发时间戳 ios16进制转中文 ios开发utf8转中文 ios ...

  8. IOS开发基础知识碎片-导航

    1:IOS开发基础知识--碎片1 a:NSString与NSInteger的互换 b:Objective-c中集合里面不能存放基础类型,比如int string float等,只能把它们转化成对象才可 ...

  9. 自学 iOS 开发的一些经验 - 转自无网不剩的博客

    不知不觉作为 iOS 开发也有两年多的时间了,记得当初看到 OC 的语法时,愣是被吓了回去,隔了好久才重新耐下心去啃一啃.啃了一阵,觉得大概有了点概念,看到 Cocoa 那么多的 Class,又懵了, ...

随机推荐

  1. CALayer精讲

    前言 CALayer包含在QuartzCore框架中,这是一个跨平台的框架,既可以用在iOS中又可以用在Mac OS X中.后面要学Core Animation就应该先学好Layer(层). 我们看一 ...

  2. ALAssetsLibrary学习总结

    添加AssetsLibrary.framework 然后引入 #import <AssetsLibrary/ALAssetsLibrary.h> 一个获取所有图片的类 #import &l ...

  3. loadmore

    实例点击 loadmore.js /* * loadmore.js require jQuery,artTemplate * Butterfly 2013.08.28 */ define(['../u ...

  4. Java任务调度

    最近项目要用到任务调度的相关知识,昨天信心满满的去官网学习,结果被坑个半死,我用的最新版的quartz,文档里说是兼容所有版本,但是代码连编译都报错,无奈只好从网上找资料,摸着石头过河总算有点眉目,在 ...

  5. (Relax DFS专题1.2)POJ 2386 Lake Counting(使用DFS来计算有多少坨东西是连通的)

    题目大意:有N*M的矩阵稻田,'W'表示有积水的地方, '.'表示是干旱的地方,问稻田内一共有多少块积水,根据样例很容易得出,积水是8个方向任一方向相连即可. 题目大意:有N*M的矩阵稻田,'W'表示 ...

  6. paip.云计算以及分布式计算的区别

    paip.云计算以及分布式计算的区别 云计算的特点 1 网格计算 2 分布式计算 2 云计算以及网格计算以及分布式计算的区别 2 作者Attilax  艾龙,  EMAIL:1466519819@qq ...

  7. 【STL学习】智能指针之shared_ptr

    前面已经学习过auto_ptr,这里补充另外一种智能指针,比auto_ptr要更强力更通用的shared_ptr. shared_ptr 简介及使用选择  几乎所有的程序都需要某种形式的引用计数智能指 ...

  8. PowerDesigner 12.5 汉化破解完整版

    PowerDesigner 12.5 汉化破解完整版 分类: ⑦ 综合 2011-08-09 14:59 2979人阅读 评论(0) 收藏 举报 破解wizardsybasetoolsshell扩展 ...

  9. SQL Server 2005 盛宴系列 经典教程

    SQL Server 2005 盛宴系列 经典教程  [复制链接]   发表于 2007-3-27 14:08 | 来自 51CTO网页 [只看他] 楼主     TECHNET  SQL serve ...

  10. iOS_城市定位

    技术点-利用CoreLoaction框架,实现城市定位功能. 原理: 利用苹果官方提供的CoreLocation框架实现城市定位的功能: 该框架主要包括两个比较有用的类:定位类CLLocationMa ...