现在APP中经常需要注册登录操作,在注册时设置密码会需要根据输入的内容来显示密码强度。最近在项目中需要处理这样一种情况。
在网上也有一些处理方法,但是看了都不是很满意,所以决定还是自己写。
首先实现主要是从两个方面开始。
1.如何将密码强度与输入内容联系在一起
这个需要结合使用textfield 的代理方法
2.如何判断密码强度
这个是逻辑问题
// 0.先判断输入的长度是不是大于6
// 1.如果小于6为则显示密码强度太低提示
// 2.如果大于6再判断其组成成分
// 3.如果组成全部是字母,数字,符号的某一种,则判断为低强度
// 4.如果组成是上述中的两种则判断为中强度
// 5.如果组成是上述中的三种则判断为高强度
具体代码实现:
@interface ViewController ()<UITextFieldDelegate>
{
BOOL _isback; // 如果还有其他的textfield,这个时候需要这个变量,保证密码强度显示正常。
UIImageView *_remindImage; // 密码强度图片视图
}
@end
- (void)viewDidLoad {
UITextField *tf = [[UITextFieldalloc] initWithFrame:CGRectMake(20,50, 200,50)];
_remindImage = [[UIImageViewalloc] initWithFrame:CGRectMake(10,CGRectGetMaxY(tf.frame)+30,300, 10)];
[self.viewaddSubview:_remindImage];