要求:必须包含大写字母+小写字母+数组+符号

NSString * psw = @"Abc123456@!";

NSString * regex1 = @"^[0-9]{8,16}$|^[a-zA-Z]{8,20}$";

NSString * regex2 = @"^[A-Za-z0-9]{8,20}$";

NSString * regex3 = @"^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,20}$";

注:正则3的表达式中 \d 在iOS中会被当成转义字符,所以需要写成 \\d, 所以如过其他语言把这个正则拿过去用,记得把 \ 去掉

NSPredicate * pred1 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex1];

NSPredicate * pred2 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex2];

NSPredicate * pred3 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex3];

BOOL result1 = [pred1 evaluateWithObject:psw];

BOOL result2 = [pred2 evaluateWithObject:psw];

BOOL result3 = [pred3 evaluateWithObject:psw];

如果 result1和result12不通过 且result3 通过,则密码为真

if (result1 ==NO && result2 ==NO && result3 ==YES)  {

//密码通过,在这里写你的逻辑

}else{

密码不通过

}

iOS 密码正则表达式相关推荐

  1. IOS使用正则表达式去掉html中的标签元素,获得纯文本

    IOS使用正则表达式去掉html中的标签元素,获得纯文本 content是根据网址获得的网页源码字符串 NSRegularExpression *regularExpretion=[NSRegular ...

  2. IOS常用正则表达式

    IOS常用正则表达式 正则表达式用于字符串处理.表单验证等场合,实用高效.现将一些常用的表达式收集于此,以备不时之需. 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 评注:匹配中文还真是 ...

  3. 8位以上 密码 正则表达式

    2019独角兽企业重金招聘Python工程师标准>>> 8位以上 密码 正则表达式 密码必须包含数字,大写字母,小写字母,特殊符号,长度不少于8位 (?=.*[0-9])(?=.*[ ...

  4. ios计算机错误,解决都叫兽™iOS密码重置与USB连接相关的错误(iOS,Error Code 13)...

    吴川 华南区技术负责人 概要 都叫兽™iOS密码重置可有效帮助您解决忘记密码.设备启动崩溃等问题.本文将针对在Windows系统下使用该软件遇到的"Unstable USB connecti ...

  5. iOS密码查找工具:4uKey Password Manager for Mac

    4uKey Password Manager是一款适用于IOS的密码管理工具.它可以帮助我们轻松地在iPhone和ipad上查找.恢复以及管理所有密码.能够从PC/Mac在iPhone/iPad上查找 ...

  6. 封装Form表单正则校验--确认密码正则表达式

    封装Form表单正则校验–确认密码正则表达式 为什么要封装: 一.因为我们在做项目的时候肯定不会只有一个页面用到这些Form表单的验证! 二.可以很方便的在多个页面中进行使用! 三.对以后系统升级维护 ...

  7. Android 密码正则表达式验证

    Android 密码正则表达式验证 要求: 密码是包含 字母.数字.标点符号 组合8~16位的字符串; 1.密码中必须包含字母,大小写没有限制: 2.密码中必须包含数字: 3.密码中可包含标点符号,非 ...

  8. 数字和字母组合的密码正则表达式

    数字和字母组合的密码正则表达式 要求: 由数字和字母组成,并且要同时含有数字和字母,且长度要在8-16位之间. /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16} ...

  9. iOS中正则表达式封装好的第三方文件

    iOS中正则表达式封装好的第三方文件  我已经上传了资源哦~ 需要的话可以去下载哦 #import <Foundation/Foundation.h> #import "NSSt ...

最新文章

  1. 2021年春季学期-信号与系统-第九次作业参考答案-第三小题
  2. 使用phyton脚本产生新的mac地址
  3. PHP规范之PSR-1
  4. Android动态加载字节码
  5. python 拟合分布_如何使用python将weibull分布拟合到数据?
  6. MaxProxy代理可以替代911s5代理吗?还有哪些软件可以使用
  7. Python | pynlpir库 | pynlpir.LicenseError:Your license appears to have expired. Try running “pynlpir“
  8. bzoj 4453 cys就是要拿英魂! —— 后缀数组+单调栈+set
  9. 用Java判断ab大小_比例类数据的差异性检验与AB测试的终止点
  10. 推荐几个有特点的公众号给你
  11. 温暖守护客户财富与健康,平安人寿推出“盛世金越尊享”终身寿险
  12. 使用docsify+markdown+vditor构建gitlab pages文档库
  13. vivo陷全国手机行业反垄断第一案
  14. C语言system()函数
  15. 博图SCL_先进先出排序法
  16. 【合天网安】DoraBox靶场之Xss跨站
  17. 2018年回顾:但行好事,无问前程
  18. 创业赢利模式之一 鱼模式
  19. matlab n(),MATLAB N个实用技巧:MATLAB中文论坛精华总结(第2版)
  20. php验证码刷新_PHP验证码刷新不了,是什么问题?

热门文章

  1. SpringBoot 使用ApplicationContext 及 getbean的两种方式
  2. Velocity介绍- -
  3. oracle undefine的用法_oracle define,undefine,ACCEPT,以及变量的获取 命令
  4. lsd 特征点匹配代码_线特征LSD and 描述子LBD(一)(示例代码)
  5. 【转存】玩转Java8 Stream,代码效率飞升
  6. python时间序列折线图_Python Pandas 时间序列双轴折线图
  7. C语言实现一个列表式的学生信息管理系统(完善)
  8. 【FLINK】RECEIVED SIGNAL 15: SIGTERM. Shutting down as requested.
  9. MySQL 01:数据库,MySQL基础
  10. C++核心准则C.4:只有直接访问表达的函数,才应该成为成员