用正規表示式驗證郵箱和手機號

2021-07-03 12:56:48 字數 2530 閱讀 4924

正規表示式,又稱正規表示法、常規表示法(英語:regular expression,在**中常簡寫為regex、regexp或re),電腦科學的乙個概念。正規表示式使用單個字串來描述、匹配一系列符合某個句法規則的字串。

做ios開發的童鞋,應該都用過正規表示式吧。正規表示式很好地,幫助我們判斷乙個字串是否合法。比如:

在做意見反饋的時候,需要判斷郵箱格式是否正確。

判斷手機號和判斷郵箱,應該是ios開發者們最常用的。具體如何判斷,簡單整理如下:

+ (bool)validateemail:(nsstring *)email

"; nspredicate *emailtest = [nspredicate predicatewithformat:@"self matches %@", emailregex];

return [emailtest evaluatewithobject:email];

}

nspredicate是乙個foundation類,是用來查詢的,原理和用法都類似於sql中的where。

+ (bool)validatephone:(nsstring *)phone

"; nspredicate *phonetest = [nspredicate predicatewithformat:@"self matches %@", phoneregex];

return [phonetest evaluatewithobject:phone];

}

這只是簡單地判斷手機號格式。其實手機的格式還是有一點複雜的。

//正則判斷手機號碼格式

+ (bool)validatephone:(nsstring *)phone

$"; /**

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:phone] == yes)

|| ([regextestcm evaluatewithobject:phone] == yes)

|| ([regextestct evaluatewithobject:phone] == yes)

|| ([regextestcu evaluatewithobject:phone] == yes))

else

if([regextestct evaluatewithobject:phone] == yes) else

if ([regextestcu evaluatewithobject:phone] == yes) else

return yes;

}else

}

以上這段(來自網路)是手機號判斷的詳細方法。基本上這個判斷就夠用了,如果三大運營商,再出其他段的手機號。直接子啊上面做簡單修改即可。

手機號驗證正規表示式

手機號驗證的正則為 var reg 0 13 0 9 15 7 9 153 156 18 7 9 0 9 var reg 0 13 0 9 15 0 9 0 9 移動手機號的驗證正則為 var reg 0 13 4 9 15 7 9 15 0 2 18 7 8 0 9 手機號驗證正規表示式 昨天找了...

正則匹配手機號,郵箱(關於正規表示式)

表示式 表示或者 表示或者 a z 表示所有的小寫字母 a z 表示所有的大寫字母 a z 表示所有的字母 a za z 表示所有的字母 0 9 表示所有數字 12 表示1或者2 表示取反 0 9 非數字 量詞 表示出現的次數 表示出現n到m次 表示出現n到無限次 表示1次到無限次 表示0次到無限次...

js正規表示式驗證賬號手機號電話郵箱

1.賬號 規則 字母 數字 下劃線組成,字母開頭,4 16位。表示式 a za z w 2.手機號 規則 11位數字,以1開頭 表示式 1 d 3.號碼 規則 區號 號碼,區號以0開頭,3位或4位號碼由7位或8位數字組成區號與號碼之間可以無連線符,也可以 連線 表示式 0 d d 4.郵箱 第一部分...