IOS中用正则表达式判断输入的内容为8-16位且同时包含数字和字母
今天在项目中需要用到判断用户输入的用户名长度为8-16位且同时包含数字和字母,在网上搜了一下正则表达式的用法,然后参考这篇文章,完美解答了问题。记录一下:
密码有如下要求:由数字和字母组成,并且要同时含有数字和字母,且长度要在8-16位之间。
如何分析需求?拆分!这就是软件设计的一般思路了。于是乎,拆分需求如下:
1,不能全部是数字
2,不能全部是字母
3,必须是数字或字母
只要能同时满足上面3个要求就可以了,写出来如下:
^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$ 分开来注释一下: ^ 匹配一行的开头位置 (?![0-9]+$) 预测该位置后面不全是数字 (?![a-zA-Z]+$) 预测该位置后面不全是字母 [0-9A-Za-z] {8,16} 由8-16位数字或这字母组成 $ 匹配行结尾位置
注:(?!xxxx) 是正则表达式的负向零宽断言一种形式,标识预该位置后不是xxxx字符。
用在iOS中的代码:
** * @author KaKa, 15-07-31 14:07:02 * * 判断用户输入的密码是否符合规范,符合规范的密码要求: 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; }
有关更多正则表达式的写法大家可以参考本文:
http://www.jb51.net/article/72867.htm
以上所述是小编给大家介绍的IOS中用正则表达式判断输入的内容为8-16位且同时包含数字和字母,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
相关推荐
-
IOS 中UITextField和UITextView中字符串为空和空格的解决办法
IOS 中UITextField和UITextView中字符串为空和空格的解决办法 在用UITextField,UITextView声明的属性写一些页面的时候,经常会出现这样的小bug,就是给空值或空格也能进行传值或存储,这里给一些解决的小方法: eg: 这里声明了一个属性,就以此为例来说 @property (nonatomic, strong) UITextField *titlefield; 为空时: if(_titlefield.text == nil){ //执行一些警告操作 } if
-
IOS 开发之NSDictionary转换成JSON字符串
IOS 开发之NSDictionary转换成JSON字符串 普通情况下,你可能会用一个NSDictionary的分类去做NSDictionary转JSON,如下代码: NSError *error; NSData *jsonData = [NSJSONSerialization dataWithJSONObject:self options:NSJSONWritingPrettyPrinted error:&error]; if (! jsonData) { return @"{}&qu
-
iOS中 UIActionSheet字体的修改
一,效果图. 二,代码. RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController : UIViewController <UIActionSheetDelegate> @end RootViewController.m -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { UIActionSheet *actio
-
IOS开发之字典转字符串的实例详解
IOS开发之字典转字符串的实例详解 在实际的开发需求时,有时候我们需要对某些对象进行打包,最后拼接到参数中 例如,我们把所有的参数字典打包为一个 字符串拼接到参数中 思路:利用系统系统JSON序列化类即可,NSData作为中间桥梁 //1.字典转换为字符串(JSON格式),利用 NSData作为桥梁; NSDictionary *dic = @{@"name":@"Lisi",@"sex":@"m",@"tel&qu
-
Textarea输入字数限制实例(兼容iOS&安卓)
最近在做一个微信公众号的页面,其中有对textarea做输入字数限制,而且需要兼容iOS和安卓手机, 下面直接贴代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>textarea输入字数限制(兼容ios和安卓)</title> </head> <body> <!-- 最
-
解决IOS开发空字符串的方法
解决IOS开发空字符串的方法 实例代码: -(Boolean) isEmptyOrNull:(NSString *) str { if (!str) { // null object return true; }else if(str == Null){ return true; }else if([str isKindOfClass:[NSNull class]]){ return true; }else { NSString *trimedString = [str stringByTrim
-
iOS开发之数字每隔3位用逗号分隔
demo: 源码下载:http://xiazai.jb51.net/201709/yuanma/DMLimtDemo_jb51.rar 之前做电商类APP时,针对稍大的金额展示时,需要每隔千位添加逗号便于用户识别. 逻辑比较简单,这里按需要写了一个可选前后缀的一个转换方法: #import "DMViewController.h" @interface DMViewController () @property (weak, nonatomic) IBOutlet UITextFiel
-
IOS中用正则表达式判断输入的内容为8-16位且同时包含数字和字母
今天在项目中需要用到判断用户输入的用户名长度为8-16位且同时包含数字和字母,在网上搜了一下正则表达式的用法,然后参考这篇文章,完美解答了问题.记录一下: 密码有如下要求:由数字和字母组成,并且要同时含有数字和字母,且长度要在8-16位之间. 如何分析需求?拆分!这就是软件设计的一般思路了.于是乎,拆分需求如下: 1,不能全部是数字 2,不能全部是字母 3,必须是数字或字母 只要能同时满足上面3个要求就可以了,写出来如下: ^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z
-
IOS正则表达式判断输入类型(整理)
在开发过程中,有时需要对用户输入的类型做判断,最常见是在注册页面即用户名和密码,代码整理如下: 只能为中文 -(BOOL)onlyInputChineseCharacters:(NSString*)string{ NSString *zhString = @"[\u4e00-\u9fa5]+"; NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",zhString]
-
C#正则表达式判断输入日期格式是否正确
本文将介绍一段实例代码,来讲解利用正则表达式使C#判断输入日期格式是否正确的方法.希望这段代码能对大家有所帮助. 通常我们在用C#编写系统程序或者Web开发时,都会遇到需要验证输入的字符串是否是日期的情况,下面为大家介绍一种非常全面的用正则表达式验证日期的方法: c 正则表达式日期代码一: /// <summary> /// 是否为日期型字符串 /// </summary> /// <param name="StrSource">日期字符串(2008
-
iOS 委托与文本输入(内容根据iOS编程编写)
•文本框(UITextField) 本章节继续编辑 JXHypnoNerd .文件地址 . 首先我们继续编辑 JXHypnosisViewController.m 修改 loadView 方法,向 view 中添加一个 UITextField 对象: #import "JXHypnosisViewController.h" #import "JXHypnosisView.h" @interface JXHypnosisViewController () @end @
-
ios利用正则表达式判断手机号码格式是否正确的实例
实例如下: //判断手机号码格式是否正确 + (BOOL)valiMobile:(NSString *)mobile { mobile = [mobile stringByReplacingOccurrencesOfString:@" " withString:@""]; if (mobile.length != 11) { return NO; }else{ /** * 移动号段正则表达式 */ NSString *CM_NUM = @"^((13[4-
-
JS正则表达式必须包含数字、字母、特殊字符
下面给大家介绍下JS正则表达式 必须包含数字.字母.特殊字符 js正则表达式要求: 1. 必须包含数字.英文字母.特殊符号且大于等于8位 2. 特殊符号包括: ~!@#$%^&* 正则表达式如下: /^(?=.*\d)(?=.*[a-zA-Z])(?=.*[~!@#$%^&*])[\da-zA-Z~!@#$%^&*]{8,}$/ 解释: 这里主要用到了js正则表式中的正向前瞻 ?=,举个例子 /\d/.exec( 'abc2abc' ) 匹配结果为2,释义:匹配一个数字 /\d(?
-
Android最简单的限制输入方法(只包含数字、字母和符号)
前言 Android的编辑框控件EditText在平常编程时会经常用到,有时候会对编辑框增加某些限制,如限制只能输入数字,最大输入的文字个数,不能输入一些非法字符等,本文就来给大家介绍了一种最简单的输入限制方法. 效果图 Github地址,欢迎点赞,fork 今天带来工作中的一个小安利,产品要求对用户名输入需要限制,只能是数字和字母,符号,不能包含空格和键盘上输入的emoji.开始拿到这个需求,觉得给 EditText 增加一个 addTextChangedListener ,里面做各种判断不就
-
sql 判断字符串中是否包含数字和字母的方法
判断是否含有字母 select PATINDEX('%[A-Za-z]%', 'ads23432')=0 (如果存在字母,结果>1) 判断是否含有数字 PATINDEX('%[0-9]%', '234sdf')=0 (如果存在数字,结果>1)
-
java正则表达式判断前端参数修改表中另一个字段的值
前端传参,调用接口 将两个值都传给后端,做比较,符合条件,修改数据表中另一个字段值 init (id) { this.dataForm.id = id || 0 this.visible = true this.$nextTick(() => { this.$refs['dataForm'].resetFields() if (this.dataForm.id) { this.$http({ url: this.$http.adornUrl(`/这里是接口/${this.dataForm.id}
-
如何利用C#正则表达式判断是否是有效的文件及文件夹路径
目录 省流 学习编写验证过程 元字符metacharacter 关于^和$ 关于(),[],和{} 总结 省流 /// <summary> /// 是否有效的文件,文件夹路径 /// </summary> /// <param name="val"></param> /// <returns>是,返回true:不是返回false</returns> public bool IsValidFolderPath(str
随机推荐
- D3.js实现折线图的方法详解
- 如何在Java程序中访问mysql数据库中的数据并进行简单的操作
- Python实现过滤单个Android程序日志脚本分享
- iOS json解析出错的几种情况总结
- 详解javascript中对数据格式化的思考
- Bootstrap组件系列之福利篇几款好用的组件(推荐二)
- Apache服务器下防止图片盗链的办法
- thinkphp模板输出技巧汇总
- JS解决url传值出现中文乱码的另类办法
- Python新手入门最容易犯的错误总结
- Go语言中使用反射的方法
- jsp 页面上图片分行输出小技巧
- node.js中的fs.exists方法使用说明
- Linux 使用init命令实现关机,重启,切换模式
- SQLServer存储过程创建和修改的实现代码
- Android使用ViewPager实现自动轮播
- 莱鸟介绍javascript onclick事件
- java创建以任意图片为背景的窗口
- Android App多个入口的实现方法
- Vue CL3 配置路径别名详解