正則表達(dá)式
收集自百度回答
^([a-zA-Z0-9-])+@([a-zA-Z0-9-])+(\.[a-zA-Z0-9_-])+
^
表示開頭.
([a-zA-Z0-9-])+ a-z A-Z 0-9
的字符和下劃線,橫線-
(實(shí)際上這里不用加圓括號)
+
表示這樣的字符有 一個或n個(也就是大小寫字母數(shù)字下劃線橫線有1個或n個
@
就是@符號..表示接下來是個@符號
([a-zA-Z0-9_-])+
然后又是大小寫字母數(shù)字下劃線橫線有1個或n個
\.
表示小數(shù)點(diǎn) .
\.[a-zA-Z0-9_-]
匹配 小數(shù)點(diǎn)后邊跟 大小寫字母數(shù)字下劃線橫線,這里有個小錯誤就是沒有指定重復(fù)次數(shù)所以只能匹配一個字符,比如123@qq.com
只能匹配到123@qq.c
(\.[a-zA-Z0-9_-])+
這里表示可以有1次或n次重復(fù)的情況 比如 123@qq.a.b.c
修改正確:
^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-]+)+
\w
相當(dāng)于[a-zA-Z0-9]
所以可以簡寫一下^[\w_-]+@[\w_-]+(\.[\w_-]+)+
^(13[0-9]|15[0-9]|18[0-9]|14[0-9])\d{8}$
這個是開頭三位數(shù)字 13n 或 15n 或 18n 或 14n,其中n取值是0~9
\d{8}
表示 8個數(shù)字.
可以簡化一下..
^1(3|5|8|4)\d{9}$
示例
檢驗(yàn)郵箱輸入格式
-(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];
}