IOS实现邮箱模糊匹配的功能

2020-01-15 18:42:49 来源:易采站长站 作者:于丽

先来看看要实现的效果图

ios模糊匹配,模糊匹配,ios,字符串模糊匹配

一.介绍一下功能

当输入一个邮箱的数字,会默认在后面匹配出来@qq.com,当然这个默认@qq.com可以换成其他的如@163.com等等。这里默认是@qq.com,因为我们的产品汪做过统计大多数用户还是用的qq邮箱,所以默认是@qq.com。

当输入@符号还是不会有所变化,但是如果在@之后再输入字符,会将这个字符和你想要提示的邮箱后缀做匹配,我这里是需要匹配@qq.com,@163.com,@126.com,@yahoo.com,@139.com,@henu.com类型。例如:在@之后你输入了1,这个时候会在@1之后匹配出来63.com。接着,当你在@1之后又输入了2,会在@12后面匹配出来6.com。这些匹配的优先级是根据你给的需要匹配邮箱类型的顺序来的,并且这些想要匹配的邮箱类型也是完全可配的,可根据产品的需求作自己的定制。

二.说一下用法

1.先说一下如果你是在xib中想实现这个功能,首先要拖拽一个textField,设置好约束,然后让这个textField的类关联到XLTextField,当前前提你要下载并导入了XLTextField.hXLTextField.m,切记不要忘了将textField.delegate设置给viewController,textField样式可在xib自行设置,匹配的邮箱区域颜色可自行设置,然后在代码中只需要调API


/**
*
*1.通过xib创建只需要赋值此参数即可
*@param mailTypeArray邮箱匹配类型
*
*/@property(nonatomic,strong)NSMutableArray*mailTypeArray;

示例代码:


self.textField.mailTypeArray= [NSMutableArrayarrayWithObjects:@"@qq.com",@"@163.com",@"@126.com",@"@yahoo.com",@"@139.com",@"@henu.com",nil];

XLTextField.h还提供了一个可选的mailMatchColor属性这个属性是UIColor类型的,是匹配邮箱类型的颜色,可根据需求自行设置。


/**
*Optional匹配的邮箱类型后缀默认是RGB为170 170 170的颜色,可自行设置
*/@property(nonatomic,strong)UIColor* mailMatchColor;

2.通过手动frame创建两个基本参数设置大小和字号,其他设置可额外自行设置,调用API


/**
*2.通过手写创建textField时候调用
*
*@param frameframe大小
*@param fontSize textField大小
*
*@return self
*/- (instancetype)initWithFrame:(CGRect)frame fontSize:(CGFloat)fontSize;

示例代码:


XLTextField * field = [[XLTextField alloc] initWithFrame:CGRectMake(100, 200, 200, 30) fontSize:12];
field.placeholder = @"输入邮箱地址";
field.mailTypeArray = [NSMutableArray arrayWithObjects:@"@qq.com",@"@163.com",@"@126.com",@"@yahoo.com",@"@139.com",@"@henu.com", nil];
field.mailMatchColor = [UIColor redColor]; 可选属性
[self.view addSubview:field];
            




              

微信扫一扫

易采站长站微信账号