關(guān)于手機(jī)號(hào),郵箱號(hào)的正則表達(dá)式

目前的App纤泵,除了第三方登錄外骆姐,常用的登錄方式就是手機(jī)號(hào)和郵箱帳號(hào)登錄。

至于帳號(hào)的注冊(cè)捏题,驗(yàn)證碼的發(fā)送玻褪,都是返回給后臺(tái)之后由后臺(tái)來(lái)完成的,這里不做說(shuō)明公荧。

文章的最后還會(huì)對(duì)文本框的輸入判斷進(jìn)行一些說(shuō)明带射,配合使用。


手機(jī)號(hào)判斷
if (mobile.length == 11) {
            // 移動(dòng)號(hào)段正則表達(dá)式
            NSString * CM_NUM = @"^((13[4-9])|(147)|(15[0-2,7-9])|(178)|(18[2-4,7-8]))\\d{8}|(1705)\\d{7}$";
            // 聯(lián)通號(hào)段正則表達(dá)式
            NSString * CU_NUM = @"^((13[0-2])|(145)|(15[5-6])|(176)|(18[5,6]))\\d{8}|(1709)\\d{7}$";
            // 電信號(hào)段正則表達(dá)式
            NSString * CT_NUM = @"^((133)|(153)|(177)|(18[0,1,9]))\\d{8}$";
            
            NSPredicate *pred1 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CM_NUM];
            BOOL isMatch1 = [pred1 evaluateWithObject:mobile];
            NSPredicate *pred2 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CU_NUM];
            BOOL isMatch2 = [pred2 evaluateWithObject:mobile];
            NSPredicate *pred3 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CT_NUM];
            BOOL isMatch3 = [pred3 evaluateWithObject:mobile];
            
            if (isMatch1 || isMatch2 || isMatch3) {
                isPhone = YES;
            } else {
                [LDCreateUITool showMaskOfTitle:@"請(qǐng)輸入正確的手機(jī)號(hào)/郵箱"];
            }
        }else{

        }
郵箱判斷
if ([mobile containsString:@"@"]) {
        NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
        NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",  emailRegex];
        BOOL isEmail = [emailTest evaluateWithObject:mobile];
        
        if (isEmail) {
            isEmail = YES;
        } else {
            isEmail = NO;
        }
    } 

由于是同一個(gè)文本框去判斷的循狰,所以才用有沒(méi)有"@"來(lái)區(qū)分郵箱和手機(jī)號(hào)窟社。

這里還要做一些說(shuō)明,那就是關(guān)于文本框的輸入判斷绪钥。
一般來(lái)說(shuō)灿里,為了用戶體驗(yàn)我們都是調(diào)用文本框的代理方法

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string;

來(lái)進(jìn)行實(shí)時(shí)的監(jiān)控,或者用

-(void)textFieldDidEndEditing:(UITextField *)textField;

來(lái)等文本框失去焦點(diǎn)后判斷程腹,不過(guò)一般不用這個(gè)方法匣吊。

由于我們的程序中這兩種方法使用起來(lái)都有點(diǎn)問(wèn)題,所以改用通知的方法,其實(shí)這個(gè)通知的名字也是系統(tǒng)的

// 注冊(cè)通知
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(phoneTextFiledEditChanged:) name:@"UITextFieldTextDidChangeNotification" object:self.phoneNumField];
// 這個(gè)通知里邊的name色鸳,我們可以點(diǎn)擊進(jìn)去看社痛,是UITextField.h里邊系統(tǒng)自己的

// 1.帳號(hào)框的監(jiān)聽
- (void)phoneTextFiledEditChanged:(NSNotification *)notification
{
    if (notification.object != self.phoneField) {
        return;
    }
}

以上。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末命雀,一起剝皮案震驚了整個(gè)濱河市蒜哀,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌咏雌,老刑警劉巖凡怎,帶你破解...
    沈念sama閱讀 216,843評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異赊抖,居然都是意外死亡统倒,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,538評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門氛雪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)房匆,“玉大人,你說(shuō)我怎么就攤上這事报亩≡『瑁” “怎么了?”我有些...
    開封第一講書人閱讀 163,187評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵弦追,是天一觀的道長(zhǎng)岳链。 經(jīng)常有香客問(wèn)我,道長(zhǎng)劲件,這世上最難降的妖魔是什么掸哑? 我笑而不...
    開封第一講書人閱讀 58,264評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮零远,結(jié)果婚禮上苗分,老公的妹妹穿的比我還像新娘。我一直安慰自己牵辣,他們只是感情好摔癣,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,289評(píng)論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著纬向,像睡著了一般择浊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上逾条,一...
    開封第一講書人閱讀 51,231評(píng)論 1 299
  • 那天琢岩,我揣著相機(jī)與錄音,去河邊找鬼膳帕。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的危彩。 我是一名探鬼主播攒磨,決...
    沈念sama閱讀 40,116評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼汤徽!你這毒婦竟也來(lái)了娩缰?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,945評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤谒府,失蹤者是張志新(化名)和其女友劉穎拼坎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體完疫,經(jīng)...
    沈念sama閱讀 45,367評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡泰鸡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,581評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了壳鹤。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片盛龄。...
    茶點(diǎn)故事閱讀 39,754評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖芳誓,靈堂內(nèi)的尸體忽然破棺而出余舶,到底是詐尸還是另有隱情,我是刑警寧澤锹淌,帶...
    沈念sama閱讀 35,458評(píng)論 5 344
  • 正文 年R本政府宣布匿值,位于F島的核電站,受9級(jí)特大地震影響赂摆,放射性物質(zhì)發(fā)生泄漏挟憔。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,068評(píng)論 3 327
  • 文/蒙蒙 一库正、第九天 我趴在偏房一處隱蔽的房頂上張望曲楚。 院中可真熱鬧,春花似錦褥符、人聲如沸龙誊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,692評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)趟大。三九已至,卻和暖如春铣焊,著一層夾襖步出監(jiān)牢的瞬間逊朽,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,842評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工曲伊, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留叽讳,地道東北人追他。 一個(gè)月前我還...
    沈念sama閱讀 47,797評(píng)論 2 369
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像岛蚤,于是被迫代替她去往敵國(guó)和親邑狸。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,654評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,085評(píng)論 25 707
  • 社交紅利閱讀筆記 書名:社交紅利(修訂升級(jí)版) 作者:徐志斌 出版社:中信出版社 正文前筆記: 推薦序1摘要 社交...
    鳧水閱讀 8,941評(píng)論 4 26
  • 點(diǎn)擊查看原文 Web SDK 開發(fā)手冊(cè) SDK 概述 網(wǎng)易云信 SDK 為 Web 應(yīng)用提供一個(gè)完善的 IM 系統(tǒng)...
    layjoy閱讀 13,758評(píng)論 0 15
  • 這是什么?碼農(nóng)們文字女青誰(shuí)主沉浮能猜到這是什么嗎她紫?硅堆!
    sophiy閱讀 349評(píng)論 6 1
  • 每次一個(gè)人過(guò)節(jié),一個(gè)人學(xué)習(xí)贿讹,一個(gè)人走路渐逃,一個(gè)人工作的時(shí)候總會(huì)無(wú)比孤獨(dú),總是感覺(jué)缺少點(diǎn)什么~這時(shí)候我會(huì)偷偷的流兩滴眼...
    宮先生的小妞閱讀 176評(píng)論 0 0