開發(fā)中 常用正則 判斷

.h文件中

#import@interface JKRegular : NSObject

/** 判斷是否為手機(jī)號碼 */

+(BOOL)valiMobile:(NSString *)mobile;

/** 郵箱 */

+ (BOOL) validateEmail:(NSString *)email;

/** 用戶名 */

+ (BOOL) validateUserName:(NSString *)name;

/** 昵稱 */

+ (BOOL) validateNickname:(NSString *)nickname;

/** 身份證 */

+ (BOOL) validateIdentityCard: (NSString *)identityCard;

/** 判斷是否為純數(shù)字 */

+(BOOL)isPureNumandCharacters:(NSString *)string;

@end

.m文件

@implementation JKRegular

+(BOOL)valiMobile:(NSString *)mobile{

/**

* 移動號段正則表達(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)通號段正則表達(dá)式

*/

NSString *CU_NUM = @"^((13[0-2])|(145)|(15[5-6])|(176)|(18[5,6]))\\d{8}|(1709)\\d{7}$";

/**

* 電信號段正則表達(dá)式

*/

NSString *CT_NUM = @"^((133)|(153)|(177)|(18[0,1,9]))\\d{8}$";

/**

*? 大陸地區(qū)固話及小靈通

*/

NSString *PHS =@"^0(10|2[0-5789]|\\d{3})\\d{7,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];

NSPredicate *pre4 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",PHS];

BOOL isMatch4 = [pre4 evaluateWithObject:mobile];

if (isMatch1 || isMatch2 || isMatch3 ||isMatch4) {

return YES;

}else{

return NO;

}

}

//郵箱

+ (BOOL) validateEmail:(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];

}

//昵稱

+ (BOOL) validateNickname:(NSString *)nickname

{

NSString *nicknameRegex = @"^[\u4e00-\u9fa5]{2,4}$";

NSPredicate *passWordPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",nicknameRegex];

return [passWordPredicate evaluateWithObject:nickname];

}

//身份證號

+ (BOOL) validateIdentityCard: (NSString *)identityCard

{

BOOL flag;

if (identityCard.length <= 0) {

flag = NO;

return flag;

}

NSString *regex2 = @"^(\\d{14}|\\d{17})(\\d|[xX])$";

NSPredicate *identityCardPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex2];

return [identityCardPredicate evaluateWithObject:identityCard];

}

//用戶名

+ (BOOL) validateUserName:(NSString *)name

{

NSString *userNameRegex = @"^[A-Za-z0-9]{6,20}+$";

NSPredicate *userNamePredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",userNameRegex];

BOOL B = [userNamePredicate evaluateWithObject:name];

return B;

}

/** 判斷是否為純數(shù)字 */

+(BOOL)isPureNumandCharacters:(NSString *)string

{

string = [string stringByTrimmingCharactersInSet:[NSCharacterSet decimalDigitCharacterSet]];

if(string.length > 0)

{

return NO;

}

return YES;

}

@end

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市戈轿,隨后出現(xiàn)的幾起案子思杯,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,946評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件奈梳,死亡現(xiàn)場離奇詭異解虱,居然都是意外死亡攘须,警方通過查閱死者的電腦和手機(jī)殴泰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,336評論 3 399
  • 文/潘曉璐 我一進(jìn)店門悍汛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來离咐,“玉大人奉件,你說我怎么就攤上這事昆著。” “怎么了煤痕?”我有些...
    開封第一講書人閱讀 169,716評論 0 364
  • 文/不壞的土叔 我叫張陵摆碉,是天一觀的道長疤坝。 經(jīng)常有香客問我,道長锅睛,這世上最難降的妖魔是什么现拒? 我笑而不...
    開封第一講書人閱讀 60,222評論 1 300
  • 正文 為了忘掉前任望侈,我火速辦了婚禮,結(jié)果婚禮上脱衙,老公的妹妹穿的比我還像新娘捐韩。我一直安慰自己,他們只是感情好瞧预,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,223評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著仅政,像睡著了一般垢油。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上圆丹,一...
    開封第一講書人閱讀 52,807評論 1 314
  • 那天滩愁,我揣著相機(jī)與錄音,去河邊找鬼辫封。 笑死惊楼,一個(gè)胖子當(dāng)著我的面吹牛玖瘸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播檀咙,決...
    沈念sama閱讀 41,235評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼雅倒,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了弧可?” 一聲冷哼從身側(cè)響起蔑匣,我...
    開封第一講書人閱讀 40,189評論 0 277
  • 序言:老撾萬榮一對情侶失蹤裁良,失蹤者是張志新(化名)和其女友劉穎价脾,沒想到半個(gè)月后侨把,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,712評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡骇笔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,775評論 3 343
  • 正文 我和宋清朗相戀三年芦劣,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了葱跋。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片娱俺。...
    茶點(diǎn)故事閱讀 40,926評論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡烛愧,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出疼燥,到底是詐尸還是另有隱情醉者,我是刑警寧澤撬即,帶...
    沈念sama閱讀 36,580評論 5 351
  • 正文 年R本政府宣布宪摧,位于F島的核電站温圆,受9級特大地震影響岁歉,放射性物質(zhì)發(fā)生泄漏锅移。R本人自食惡果不足惜非剃,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,259評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望肺素。 院中可真熱鬧倍靡,春花似錦塌西、人聲如沸办桨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,750評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至古沥,卻和暖如春太颤,著一層夾襖步出監(jiān)牢的瞬間龄章,已是汗流浹背做裙。 一陣腳步聲響...
    開封第一講書人閱讀 33,867評論 1 274
  • 我被黑心中介騙來泰國打工关串, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留吧碾,地道東北人滤港。 一個(gè)月前我還...
    沈念sama閱讀 49,368評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像添履,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子往衷,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,930評論 2 361

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