正则表达式
收集自百度回答
^([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_-]
匹配 小数点后边跟 大小写字母数字下划线横线,这里有个小错误就是没有指定重复次数所以只能匹配一个字符,比如123@qq.com
只能匹配到123@qq.c
(\.[a-zA-Z0-9_-])+
这里表示可以有1次或n次重复的情况 比如 123@qq.a.b.c
修改正确:
^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-]+)+
\w
相当于[a-zA-Z0-9]
所以可以简写一下^[\w_-]+@[\w_-]+(\.[\w_-]+)+
^(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];
}