佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > iOS 正則表達(dá)式判斷純數(shù)字及匹配11位手機(jī)號(hào)碼的方法

iOS 正則表達(dá)式判斷純數(shù)字及匹配11位手機(jī)號(hào)碼的方法

熱門(mén)標(biāo)簽:Mysql連接數(shù)設(shè)置 銀行業(yè)務(wù) 電子圍欄 阿里云 團(tuán)購(gòu)網(wǎng)站 科大訊飛語(yǔ)音識(shí)別系統(tǒng) Linux服務(wù)器 服務(wù)器配置

第一種使用正則表達(dá)式 判斷

//是否是純數(shù)字 
+ (BOOL)isNumText:(NSString *)str{ 
 NSString * regex  = @"(/^[0-9]*$/)"; 
 NSPredicate * pred  = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex]; 
 BOOL isMatch   = [pred evaluateWithObject:str]; 
 if (isMatch) { 
  return YES; 
 }else{ 
  return NO; 
 } 
}

具體正則對(duì)不對(duì)  還需要大家來(lái)看以下  

第二種 系統(tǒng)源生的 

我推薦第二種  

- (NSString *) trimming { 
 return [self stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceCharacterSet]]; 
} 
//判斷是不是純數(shù)字 
 [NSCharacterSet decimalDigitCharacterSet]; 
 if ([[textField.text stringByTrimmingCharactersInSet: [NSCharacterSet decimalDigitCharacterSet]]trimming].length >0) { 
  DLog(@"不是純數(shù)字"); 
 }else{ 
  DLog(@"純數(shù)字!"); 
 } 

最近在做一個(gè)即時(shí)通訊的項(xiàng)目, 首先是注冊(cè)登錄界面, 項(xiàng)目需求是通過(guò)用戶輸入的手機(jī)號(hào)碼獲取一個(gè)4位數(shù)的驗(yàn)證碼來(lái)完成注冊(cè),那么, 問(wèn)題來(lái)了?

如何判斷用戶輸入的手機(jī)號(hào)碼是合法的正確的11位手機(jī)號(hào)碼呢?(這些簡(jiǎn)單的問(wèn)題就在前端判斷好了再post給后臺(tái) ,沒(méi)必要把各種沒(méi)用的數(shù)據(jù)都post給后臺(tái))

判斷手機(jī)號(hào)碼是否正確的方法很多,我是用正則表達(dá)式來(lái)完成匹配的,廢話不多說(shuō),直接上代碼:

//正則表達(dá)式匹配11位手機(jī)號(hào)碼 
 NSString *regex = @"^((13[0-9])|(15[^4,\\D])|(18[0,0-9]))\\d{8}$"; 
 NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex]; 
 BOOL isMatch = [pred evaluateWithObject:_telField.text]; 
if(isMatch) { //有效手機(jī)號(hào) 
}else//無(wú)效手機(jī)號(hào) 
 { 
   if (ios7) { 
    UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:nil message:@"無(wú)效的手機(jī)號(hào)碼,請(qǐng)重新輸入..." delegate:self cancelButtonTitle:nil otherButtonTitles:@"確定", nil nil]; 
    alertView.tag = 104; 
    [alertView show]; 
   }else 
   { 
    UIAlertController*alertController = [UIAlertController alertControllerWithTitle:nil message:@"無(wú)效的手機(jī)號(hào)碼,請(qǐng)重新輸入..." preferredStyle:UIAlertControllerStyleAlert]; 
    UIAlertAction *otherAction = [UIAlertAction actionWithTitle:@"確定" style:UIAlertActionStyleDefault handler:^(UIAlertAction*action) { 
     [_telField selectAll:self]; 
    }]; 
    [alertController addAction:otherAction]; 
    [self presentViewController:alertController animated:YES completion:nil]; 
   } 
  } 
 } 

聯(lián)通,移動(dòng)和電信每年都會(huì)添加新的號(hào)碼,所以匹配電話號(hào)碼的正則表達(dá)式也要年年更新.

^((13[0-9])|(15[^4,\\D])|(18[0,0-9]))\\d{8}$這個(gè)正則表達(dá)式我測(cè)試過(guò)了還沒(méi)發(fā)現(xiàn)有匹配不了的號(hào)碼,在這里分享給大家用!

您可能感興趣的文章:
  • iOS App開(kāi)發(fā)中Objective-C使用正則表達(dá)式進(jìn)行匹配的方法
  • 正則表達(dá)式在IOS中的應(yīng)用及IOS中三種正則表達(dá)式的使用與比較
  • iOS 正則表達(dá)式判斷手機(jī)號(hào)碼、固話
  • IOS開(kāi)發(fā)常用的正則表達(dá)式
  • iOS 中使用正則表達(dá)式判斷身份證格式及銀行卡號(hào)格式是否正確(推薦)
  • iOS中使用正則表達(dá)式NSRegularExpression 來(lái)驗(yàn)證textfiled輸入的內(nèi)容
  • iOS正則表達(dá)式驗(yàn)證手機(jī)號(hào)、郵箱、身份證號(hào)等
  • ios利用正則表達(dá)式判斷手機(jī)號(hào)碼格式是否正確的實(shí)例
  • Objective-C中利用正則去除非數(shù)字字母漢字方法實(shí)例

標(biāo)簽:萍鄉(xiāng) 棗莊 衢州 江蘇 廣元 衡水 大理 蚌埠

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《iOS 正則表達(dá)式判斷純數(shù)字及匹配11位手機(jī)號(hào)碼的方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    桂东县| 鄱阳县| 台湾省| 奇台县| 固原市| 民勤县| 崇信县| 宁陕县| 凤庆县| 玉山县| 禄丰县| 巴马| 普安县| 满洲里市| 彭州市| 枣庄市| 邵阳市| 积石山| 宜春市| 易门县| 同仁县| 双江| 永新县| 友谊县| 上栗县| 东乌| 赤水市| 搜索| 安龙县| 荣成市| 娄底市| 和田市| 陵川县| 海阳市| 阳曲县| 黔西县| 延吉市| 保靖县| 阿尔山市| 洛南县| 永安市|