IOS開發中實用的正規表示式

2021-06-30 16:21:53 字數 3112 閱讀 7564

正規表示式

又稱正規表示法

、常規表示法(英語

:regular expression,在**中常簡寫為regex、regexp或re),

電腦科學

的乙個概念。

這裡介紹的正規表示式有:

郵箱號驗證;手機號驗證;身份證驗證;汽車牌號驗證;使用者名稱驗證;密碼驗證;暱稱驗證。

manager.h檔案

#import

@inte***ce

manager : nsobject

//驗證郵箱

+ (bool

)validateemail:(nsstring *)email;

//驗證手機

+ (bool

)validatemobile:(nsstring *)mobile;

//驗證汽車

+ (bool

)validatecarno:(nsstring *)carno;

//驗證使用者名稱

+ (bool

)validateusername:(nsstring *)name;

//驗證密碼

+ (bool

)validatepassword:(nsstring *)password;

//驗證暱稱

+ (bool

)validatenickname:(nsstring *)nickname;

//驗證身份證

+ (bool

)validateidentitycard: (nsstring *)identitycard;

@end

manager.m檔案

#import

"manager.h"

@implementation

manager

//郵箱驗證

+ (bool

)validateemail:(nsstring *)email "

;nspredicate *emailtest = [nspredicate predicatewithformat:

@"self matches %@"

, emailregex];

return

[emailtest evaluatewithobject:email];}

//手機號碼驗證

+ (bool

)validatemobile:(nsstring *)mobile $"

; nspredicate *phonetest = [nspredicate predicatewithformat:

@"self matches %@"

,phoneregex];

return

[phonetest evaluatewithobject:mobile]; }

//車牌號驗證

+ (bool

)validatecarno:(nsstring *)carno

[a-za-z][a-za-z_0-9][a-za-z_0-9_\u4e00-\u9fa5]$";

nspredicate *cartest = [nspredicate predicatewithformat:

@"self matches %@"

,carregex];

nslog(

@"cartest is %@"

,cartest);

return

[cartest evaluatewithobject:carno]; }

//車型驗證

+ (bool

)validatecartype:(nsstring *)cartype

//使用者名稱驗證

+ (bool

)validateusername:(nsstring *)name

+$";

nspredicate *usernamepredicate = [nspredicate predicatewithformat:

@"self matches %@"

,usernameregex];

bool

b = [usernamepredicate evaluatewithobject:name];

returnb;

} //

密碼驗證

+ (bool

) validatepassword:(nsstring *)password

+$";

nspredicate *passwordpredicate = [nspredicate predicatewithformat:

@"self matches %@"

,passwordregex];

return

[passwordpredicate evaluatewithobject:password]; }

//暱稱驗證

+ (bool

) validatenickname:(nsstring *)nickname $"

; nspredicate *passwordpredicate = [nspredicate predicatewithformat:

@"self matches %@"

,nicknameregex];

return

[passwordpredicate evaluatewithobject:nickname]; }

//身份證號驗證

+ (bool

) validateidentitycard: (nsstring *)identitycard

nsstring *regex2 =

@"^(\\d|\\d)(\\d|[xx])$";

nspredicate *identitycardpredicate = [nspredicate predicatewithformat:

@"self matches %@"

,regex2];

return

[identitycardpredicate evaluatewithobject:identitycard]; }

@end

正規表示式 iOS開發

a.正規表示式 正規表示式使 用單個字串來描述 匹配 一系列符合某個句法規則的字串。在很多 文字編輯器 裡,正規表示式通常被 用來檢索 替換那些 符合某個模式的 文字。b.原義 文字字元 正常的 文字字元。c.元字元 具有特殊意義的專 用字元,是代替正常 文字字元的字元。d.限定符 限定匹配的數量或...

iOS開發 正規表示式

正規表示式是一種用來進行文字匹配的工具,其語法優美簡潔。在開發中,查詢 對比以及匹配字串是家常便飯的業務,通過正規表示式我們將這些業務描述成某些需求規則,來讓我們的 更美觀 實用。例如我們要驗證使用者輸入的密碼長度是否滿足6 18位的長度,新手最常見的驗證方式是判斷輸入的密碼長度 return te...

iOS開發 正規表示式

正規表示式是一種用來進行文字匹配的工具,其語法優美簡潔。在開發中,查詢 對比以及匹配字串是家常便飯的業務,通過正規表示式我們將這些業務描述成某些需求規則,來讓我們的 更美觀 實用。例如我們要驗證使用者輸入的密碼長度是否滿足6 18位的長度,新手最常見的驗證方式是判斷輸入的密碼長度 return te...