1. 程式人生 > >iOS郵箱、手機號等常用驗證功能

iOS郵箱、手機號等常用驗證功能

手機號驗證
/*
 手機號碼 13[0-9],14[5|7|9],15[0-3],15[5-9],17[0|1|3|5|6|8],18[0-9]
 移動:134[0-8],13[5-9],147,15[0-2],15[7-9],178,18[2-4],18[7-8]
 聯通:13[0-2],145,15[5-6],17[5-6],18[5-6]
 電信:133,1349,149,153,173,177,180,181,189
 虛擬運營商: 170[0-2]電信  170[3|5|6]移動 170[4|7|8|9],171 聯通
 上網絡卡又稱資料卡,14號段為上網絡卡專屬號段,中國聯通上網絡卡號段為145,中國移動上網絡卡號段為147,中國電信上網絡卡號段為149
 */
-(BOOL)isMobilePhone:(NSString *)phoneNum
{
    NSString * MOBIL = @"^1(3[0-9]|4[579]|5[0-35-9]|7[01356]|8[0-9])\\d{8}$";
    NSPredicate *regextestmobile = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", MOBIL];
    if ([regextestmobile evaluateWithObject:phoneNum]) {
        return YES;
    }
    return NO;
}
是否是移動號碼
/** 
 * 中國移動:China Mobile
 * 134[0-8],13[5-9],147,15[0-2],15[7-9],170[3|5|6],178,18[2-4],18[7-8]
 */
-(BOOL)isCMMobilePhone:(NSString *)phoneNum
{
    NSString * CM = @"^1(34[0-8]|70[356]|(3[5-9]|4[7]|5[0-27-9]|7[8]|8[2-47-8])\\d)\\d{7}$";
    NSPredicate *regextestcm = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CM];
    if ([regextestcm evaluateWithObject:phoneNum]) {
        return YES;
    }
    return NO;
}
是否是聯通號碼
/**
 * 中國聯通:China Unicom
 * 13[0-2],145,15[5-6],17[5-6],18[5-6],170[4|7|8|9],171
 */
-(BOOL)isCUMobilePhone:(NSString *)phoneNum
{
    NSString * CU = @"^1(70[07-9]|(3[0-2]|4[5]|5[5-6]|7[15-6]|8[5-6])\\d)\\d{7}$";
    NSPredicate *regextestcu = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CU];
    if ([regextestcu evaluateWithObject:phoneNum]) {
        return YES;
    }
    return NO;
}
是否是電訊號碼
/**
 * 中國電信:China Telecom
 * 133,1349,149,153,173,177,180,181,189,170[0-2]
 */
-(BOOL)isCTMobilePhone:(NSString *)phoneNum
{
    NSString * CT = @"^1(34[9]|70[0-2]|(3[3]|4[9]|5[3]|7[37]|8[019])\\d)\\d{7}$";
    NSPredicate *regextestct = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CT];
    if ([regextestct evaluateWithObject:phoneNum]) {
        return YES;
    }
    return NO;
}

郵箱驗證

- (void)validationEmail:(NSString *)email {
    
    NSString *emailRegex = @"[A-Z0-9a-z._%+-][email protected][A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
    NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
    if( [emailTest evaluateWithObject:email]){
        NSLog(@"恭喜!您輸入的郵箱驗證合法");
    }else{
        UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"請輸入正確的郵箱" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
        [alert show];
        
    }
}

將手機號中特定位置替換為*號

- (NSString *)replaceStringWithAsterisk:(NSInteger)startLocation length:(NSInteger)length {
    NSString *replaceStr = self;
    for (NSInteger i = 0; i < length; i++) {
        NSRange range = NSMakeRange(startLocation, 1);
        replaceStr = [replaceStr stringByReplacingCharactersInRange:range withString:@"*"];
        startLocation ++;
    }
    return replaceStr;
}
6~16位數字、字母、下劃線組成的密碼格式校驗
-(BOOL)checkPsw:(NSString *)pswStr
{
    NSString * pattern  =   @"^[A-Za-z0-9_]{6,16}$";
//    NSString *condition [email protected]"^(?![0-9]+$)(?![a-zA-Z]+$)[a-zA-Z0-9]{6,16}";
    NSPredicate * pred  =   [NSPredicate predicateWithFormat:@"SELF MATCHES %@",pattern];
    return [pred evaluateWithObject:pswStr];
}


相關推薦

iOS郵箱機號常用驗證功能

手機號驗證/* 手機號碼 13[0-9],14[5|7|9],15[0-3],15[5-9],17[0|1|3|5|6|8],18[0-9] 移動:134[0-8],13[5-9],147,15[

jQueryEasyU校驗郵箱機號

Java程式碼   <html xmlns="http://www.w3.org/1999/xhtml">   <head>       <script src="easyui1.2.4/jquery-1.6.min.js" type="text/javascript"

工具類(Validator)之驗證郵箱機號身份證

最近專案上的登入和註冊介面,需要驗證手機號,身份證等。所以編輯了一個工具類,方便以後使用。 1,工具類: import java.util.regex.Pattern; /** * 校驗器:利用正則表示式校驗郵箱、手機號等 * gyq */ pu

iOS_正則表示式判斷郵箱機號身份證暱稱密碼

網上看到的,還不錯,挺齊全的,轉過來收藏。 原文出處:http://www.2cto.com/kf/201311/256494.html //郵箱 + (BOOL) validateEmail:(NSString *)email {     NSString *ema

sql 實現用戶名郵箱機號登錄

append nes class select logs lec email mobile () StringBuilder strSql = new StringBuilder(); strSql.Append("se

實現使用者名稱郵箱機號三種都可以登入

登入會員名區分大小寫,郵箱不區分大小寫: 使用者名稱 手機號存在了 tb_user表 郵箱存在了comm_company表 在登入時把 登入名 (username)和密碼(password)帶到後臺,

使用者名稱郵箱機號搭配密碼都可以實現登陸(2種方法)

這是我在藍橋班初學java做的第二個專案所遇到和解決的問題,寫下來紀念,順便供有緣人蔘考。 使用者名稱/手機號/郵箱+密碼登陸是當今最常用的登陸,對初學者而言這是必須掌握和精通的,這也是在我基礎薄弱的我堅持解決的動力,其中感謝隊友李青的大力協助。 前提: mod

QQ機號微信身份證郵箱正則驗證

blog pre 前綴 highlight var logs clas brush test QQ正則驗證 查了下,現在QQ的長度最長是10位數,驗證格式為不以0開頭的5-10位數字就可以了 var reg = /^[1-9]\d{4,9}$/; reg.test(‘01

swift 郵箱密碼機號身份證驗證正則

/驗證郵箱 class func validateEmail(email: String) -> Bool { if email.count == 0 { return false } let emailReg

史上最全PHP正則表示式,如:郵箱身份證機號IP

下面我用PHP語言來分別寫出各種正則表示式 下方程式碼直接複製即可 匹配郵箱 $str = ''; $isMatched = preg_match_all('/\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}/', $str

JS正則表示式使用驗證賬號機號電話和郵箱

1.驗證帳號是否合法 驗證規則:字母、數字、下劃線組成,字母開頭,4-16位。 [javascript] view plain copy print? function checkuser(s

iOS開發之百度免費API使用案例(身份證號獲取地址機號查歸屬地MD5解密

先附上百度APIStore的地址:APIStore 下面是其中幾個使用案例:考慮到我的部落格看的人比較少,裡面的apikey就不隱藏了。萬一有一天如果apikey使用頻率過高被封了,請自行去百度APIStore申請 (身份證號碼這倆,不太嚴謹,不能判斷出生日期是否正確,只能

js驗證郵箱機號

xxx www 數字 規則 str 網站 turn return 郵箱 驗證帳號是否合法驗證規則:字母、數字、下劃線組成,字母開頭,4-16位。 var str=$("#zhanghao").val();var re = /^[a-zA-z]\w{3,15}$/; if(r

【python 正則表示式】python正則表示式提取郵箱網址機號ip地址

要從文字中提取電子郵件、url、手機號、ip地址等,我們可以使用殺手鐗正則表示式。下面是我封裝的函式,方便以後拿來直接用。 # encoding: utf-8 import re # 自定義獲取文

Laravel實現小程式使用openid登陸機號驗證碼登陸賬戶密碼登陸三種登陸方式

目前開發小程式,按需求要實現3種登陸方式: 1、微信授權登陸 2、賬戶密碼登陸 3、手機號、驗證碼登陸 我使用laravel自帶的Auth認證機制,通過attempt方法進行賬戶驗證,但是預設的認證機制必須包含password欄位,而我的第1、3種登陸方式都沒有

使用者名稱密碼機號驗證驗證碼獲取,勾選協議

<script type="text/javascript"> function CheckLogin(obj){ if(obj.username.value=='') { alert('請輸入使用者名稱'); ob

Android中驗證姓名身份證銀行卡機號(正則表示式校驗)

最近專案中遇到驗證銀行卡號的問題,就查了一下,也總結總結,後期如果發現其他資訊驗證的會補上的。  1.驗證輸入的身份證號是否正確 public static boolean isLegalId(String id) { if (id.toUpperCase

Android 判斷字串是不是是身份證郵箱銀行卡機號中文 1

Android 判斷字串是否是身份證、郵箱、銀行卡、手機號、中文 1.判斷字串是否是身份證:     /**       * 功能:身份證的有效驗證       *        * @param IDStr       *            身份證號       *

jquery同時驗證郵箱機號

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html

HTML中使用者名稱身份證號郵箱出生日期的格式驗證

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>表單驗證</title> //為了使頁面不是那麼