Swift-Tips(2)

正则表达式

收集自百度回答

  1. ^([a-zA-Z0-9-])+@([a-zA-Z0-9-])+(\.[a-zA-Z0-9_-])+
    ^ 表示开头.
    ([a-zA-Z0-9-])+ a-z A-Z 0-9 的字符和下划线,横线- (实际上这里不用加圆括号)
    + 表示这样的字符有 一个或n个(也就是大小写字母数字下划线横线有1个或n个
    @ 就是@符号..表示接下来是个@符号
    ([a-zA-Z0-9_-])+ 然后又是大小写字母数字下划线横线有1个或n个
    \.表示小数点 .
    \.[a-zA-Z0-9_-] 匹配 小数点后边跟 大小写字母数字下划线横线,这里有个小错误就是没有指定重复次数所以只能匹配一个字符,比如 [email protected] 只能匹配到 [email protected]
    (\.[a-zA-Z0-9_-])+ 这里表示可以有1次或n次重复的情况 比如 [email protected]
    修改正确:
    ^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-]+)+
    \w相当于[a-zA-Z0-9] 所以可以简写一下 ^[\w_-]+@[\w_-]+(\.[\w_-]+)+

  2. ^(13[0-9]|15[0-9]|18[0-9]|14[0-9])\d{8}$
    这个是开头三位数字 13n 或 15n 或 18n 或 14n,其中n取值是0~9
    \d{8} 表示 8个数字.
    可以简化一下..
    ^1(3|5|8|4)\d{9}$

示例

检验邮箱输入格式

-(BOOL)isValidateEmail:(NSString *)email
{
NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES%@",emailRegex];
return [emailTest evaluateWithObject:email];
}  

你可能感兴趣的:(Swift-Tips(2))