iOS開發 正規表示式的應用

2021-07-07 10:20:43 字數 4402 閱讀 9815

//

判斷手機號是否合法

- (bool

)isphonenumber:(

nsstring

*)phonenum $"

; /**

10         *

中國移動:

china mobile

11         * 134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188

12         */

nsstring

* cm =

@"^1(34[0-8]|(3[5-9]|5[017-9]|8[278])\\d)\\d$";

/**

15         *

中國聯通:

china unicom

16         * 130,131,132,152,155,156,185,186

17         */

nsstring

* cu =

@"^1(3[0-2]|5[256]|8[56])\\d$";

/**

20         *

中國電信:

china telecom

21         * 133,1349,153,180,189

22         */

nsstring

* ct =

@"^1((33|53|8[09])[0-9]|349)\\d$";

/**

25         *

大陸地區固話及小靈通

26         *

區號:010,020,021,022,023,024,025,027,028,029

27         *

號碼:七位或八位

28         */

// nsstring * phs = @"^0(10|2[0-5789]|\\d)\\d$";

nspredicate

*regextestmobile = [

nspredicate

predicatewithformat

:@"self matches %@"

, mobile];

nspredicate

*regextestcm = [

nspredicate

predicatewithformat

:@"self matches %@"

, cm];

nspredicate

*regextestcu = [

nspredicate

predicatewithformat

:@"self matches %@"

, cu];

nspredicate

*regextestct = [

nspredicate

predicatewithformat

:@"self matches %@"

, ct];

if(([regextestmobile

evaluatewithobject

:phonenum] ==

yes)

|| ([regextestcm

evaluatewithobject

:phonenum] ==

yes)

|| ([regextestct

evaluatewithobject

:phonenum] ==

yes)

|| ([regextestcu

evaluatewithobject

:phonenum] ==

yes))

else

if([regextestct

evaluatewithobject

:phonenum] ==

yes)

else

if([regextestcu

evaluatewithobject

:phonenum] ==

yes)

else

return

yes; }

else

} //

正規表示式過濾出數字

- (bool

)validatephone:(

nsstring

*) textstring

//使用者名稱 if

(![self

validateusername

:self

.username

.text

]) if

(![self

validatephone

:self

.phonetf

.text])

驗證數字的正規表示式集

驗證數字:

^[0-9]*$ 驗證

n位的數字:

^\d$

驗證至少

n位數字:

^\d$ 驗證

m-n位的數字:

^\d$

驗證零和非零開頭的數字:

^(0|[1-9][0-9]*)$

驗證有兩位小數的正實數:

^[0-9]+(.[0-9])?$

驗證有1-3位小數的正實數:

^[0-9]+(.[0-9])?$

驗證非零的正整數:

^\+?[1-9][0-9]*$

驗證非零的負整數:

^\-[1-9][0-9]*$

驗證非負整數(正整數

+ 0)

^\d+$

驗證非正整數(負整數

+ 0)

^((-\d+)|(0+))$

驗證長度為

3的字元:

^.$

驗證由26

個英文本母組成的字串:

^[a-za-z]+$

驗證由26個大寫英文本母組成的字串:

^[a-z]+$

驗證由26個小寫英文本母組成的字串:

^[a-z]+$

驗證由數字和

26個英文本母組成的字串:

^[a-za-z0-9]+$

驗證由數字、

26個英文本母或者下劃線組成的字串:

^\w+$

驗證使用者密碼

:^[a-za-z]\w$

正確格式為:以字母開頭,長度在

6-18

之間,只能包含字元、數字和下劃線。

驗證是否含有

^%&',;=?$\"

等字元:

[^%&',;=?$\x22]+

驗證漢字:

^[\u4e00-\u9fa5],$ 驗證

email

^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ 驗證

驗證**號碼:

^(\(\d\)|\d-)?\d$:--

正確格式為:

***x-******x

,***x-******xx

,***-******x

,***-******xx

,******x

,******xx。

驗證身份證號(

15位或

18位數字):

^\d|\d{}18$

驗證一年的

12個月:

^(0?[1-9]|1[0-2])$

正確格式為:

「01」-「09」

和「1」「12」

驗證乙個月的

31天:

^((0?[1-9])|((1|2)[0-9])|30|31)$   

正確格式為:01、

09和1、

31。整數:

^-?\d+$

非負浮點數(正浮點數

+ 0):

^\d+(\.\d+)?$

正浮點數

^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$

非正浮點數(負浮點數

+ 0)

^((-\d+(\.\d+)?)|(0+(\.0+)?))$

負浮點數

^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$

浮點數^(-?\d+)(\.\d+)?

正規表示式 iOS開發

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

iOS開發 正規表示式

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

iOS開發 正規表示式

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