博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS开发:正则表达式
阅读量:4310 次
发布时间:2019-06-06

本文共 1281 字,大约阅读时间需要 4 分钟。

语法/字符说明表

值表达

.      匹配除换行符外的任意字符

\w   匹配字母或者数字的字符

\W   匹配任意不是字母或数字的字符

\s    匹配任意的空白符(空格、制表符、换行符)

\S    匹配任意不是空白符的字符

\d    匹配任意数字

\D    匹配任意非数字的字符

\b    匹配单词的结尾或者开头的字符

\B    匹配任意不是单词结尾或开头的字符

[^x]  匹配任意非x的字符。如[^[a-z]]匹配非小写字母的任意字符

^      匹配字符串的开头

$      匹配字符串的结尾

修饰表达

*     匹配重复任意次数

+    匹配重复一次以上的次数

?      匹配一次或零次

{n}    匹配重复n次

{n,}   匹配重复n次或n次以上

{n,m} 匹配重复最少n次最多m次

 

 
 
- (
BOOL
)isEmpty
{
        
return 
self.text.length == 0;
}
- (
BOOL
)validateEmail
{
        
return 
[self validateWithRegExp: @
"^[a-zA-Z0-9]{4,}@[a-z0-9A-Z]{2,}\\.[a-zA-Z]{2,}$"
];
}
- (
BOOL
)validateAuthen
{
        
return 
[self validateWithRegExp: @
"^\\d{5,6}$"
];
}
- (
BOOL
)validatePassword
{
        
NSString * length = @
"^\\w{6,18}$"
;         
//长度
        
NSString * number = @
"^\\w*\\d+\\w*$"
;      
//数字
        
NSString * lower = @
"^\\w*[a-z]+\\w*$"
;      
//小写字母
        
NSString * upper = @
"^\\w*[A-Z]+\\w*$"
;     
//大写字母
        
return 
[self validateWithRegExp: length] && [self validateWithRegExp: number] && [self validateWithRegExp: lower] && [self validateWithRegExp: upper];
}
 
- (
BOOL
)validatePhoneNumber
{
        
NSString * reg = @
"^1\\d{10}$"
        
return 
[self validateWithRegExp: reg];
}
- (
BOOL
)validateWithRegExp: (NSString *)regExp
{
        
NSPredicate * predicate = [NSPredicate predicateWithFormat: @
"SELF MATCHES %@"
, regExp];
        
return 
[predicate evaluateWithObject: self.text];
}

转载于:https://www.cnblogs.com/walkingzmz/p/5917132.html

你可能感兴趣的文章
理解MapReduce计算构架
查看>>
【BZOJ 3473】 字符串 (后缀数组+RMQ+二分 | 广义SAM)
查看>>
jQuery渐隐渐出的文字提示
查看>>
异常记录处理
查看>>
如何定位到append的当前位置,不用拉滚动条scrollIntoView方法
查看>>
我的第一篇Window Live Writer日志
查看>>
MySQL编码、Spring配置中编码、Struts中文问题
查看>>
Controller中使用过滤器
查看>>
Anaconda+django写出第一个web app(八)
查看>>
模拟 HDOJ 5099 Comparison of Android versions
查看>>
关于http的post传送文件
查看>>
eclipse 快速导入所有需要的包
查看>>
枚举类
查看>>
关于ES6新特性
查看>>
Linux——变色的文件文件夹含义
查看>>
Android异常分析(转)
查看>>
php常用正则表达式
查看>>
ie7浏览器兼容问题
查看>>
matplotlib动态图subplots()和subplot()不同及参数
查看>>
python,shell,locale,charset
查看>>