限制textfield动态只能输入数字和字母且有长度限制
来源:互联网 发布:ios与js的交互 编辑:程序博客网 时间:2024/06/02 21:25
1.当需要动态判断输入框内的内容时,首先需要设置键盘类型
_passwordTF.keyboardType = UIKeyboardTypeASCIICapable;
宏定义 #define kAlphaNum @”ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789”
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ if (![string isEqualToString:@""]) { NSCharacterSet * cs; cs = [[NSCharacterSet characterSetWithCharactersInString:kAlphaNum] invertedSet]; NSString *filtered = [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""]; //按cs分离出数组,数组按@""分离出字符串 BOOL canChange = [string isEqualToString:filtered]; return _passwordTF.text.length>=16?NO:canChange; } return YES;}
2.如果密码有如下要求:由数字和字母组成,并且要同时含有数字和字母,且长度要在8-16位之间。
如何分析需求?拆分!这就是软件设计的一般思路了。于是乎,拆分需求如下:
1,不能全部是数字
2,不能全部是字母
3,必须是数字或字母
只要能同时满足上面3个要求就可以了,写出来如下:
1^(?![0-9]+
(?![a-zA-Z]+
注:(?!xxxx) 是正则表达式的负向零宽断言一种形式,标识预该位置后不是xxxx字符。
代码:
//判断用户输入的密码是否符合规范,符合规范的密码要求:1. 长度大于8位。 2. 密码中必须同时包含数字和字母+(BOOL)judgePassWordLegal:(NSString *)pass{ BOOL result = false; if ([pass length] >= 8){ // 判断长度大于8位后再接着判断是否同时包含数字和字符 NSString * regex = @"^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$"; NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex]; result = [pred evaluateWithObject:pass]; } return result;}
0 0
- 限制textfield动态只能输入数字和字母且有长度限制
- Android EditText输入限制最大字符长度 和 限制只能输入数字和字母(包含大小写)
- 限制textfield只能输入数字
- js限制只能输入字母和数字!
- ios 限制只能输入字母和数字
- ios 限制只能输入字母和数字
- ios 限制只能输入字母和数字
- Edittext 限制只能输入数字和字母
- 限制EditText只能输入数字和字母
- ios 限制只能输入字母和数字
- iOS 中textfield只允许输入字母和数字,限制长度
- Swift: UITextfield 只能输入数字或字母,限制长度
- textField限制输入长度
- js 限制input只能输入数字、字母和汉字等等
- javascript/JS限制用户名只能输入字母和数字下划线
- javascript/JS限制用户名只能输入字母和数字下划线
- javascript/JS限制用户名只能输入字母和数字下划线
- javascript/JS限制用户名只能输入字母和数字下划线
- Linux安装jdk,tomcat亲身试炼
- Mackdown 编辑器-马克飞象
- excel VBA基础
- PDO事务
- yeoman创建webapp项目
- 限制textfield动态只能输入数字和字母且有长度限制
- 模式识别(Pattern Recognition)学习笔记(十四)--多类线性判别函数
- 重识JavaScript(八)
- Win10下React Native环境安装教程及错误处理办法(实测)
- 我迷茫的IT工作之路(六)转战其他行业
- C#中ref和out的相关知识
- 你必须了解的Session的本质
- 【noip普及组2016】第四题“魔法阵”
- maven 打war包配置文件中的中文注释乱码