iOS 正则表达式判断纯数字以及匹配11位手机号码
生活随笔
收集整理的這篇文章主要介紹了
iOS 正则表达式判断纯数字以及匹配11位手机号码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1用正則表達式
//是否是純數字
+ (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;}
}
具體正則對不對 還需要大家來看以下
第二種 系統源生的
我推薦第二種
- (NSString *) trimming {return [self stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceCharacterSet]];
}
//判斷是不是純數字[NSCharacterSet decimalDigitCharacterSet];if ([[textField.text stringByTrimmingCharactersInSet: [NSCharacterSet decimalDigitCharacterSet]]trimming].length >0) {DLog(@"不是純數字");}else{DLog(@"純數字!");}
//正則表達式匹配11位手機號碼?? ????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)?{??//有效手機號?? }else//無效手機號?? ????{?? ???????? ????????????if?(ios7)?{?? ????????????????UIAlertView?*alertView?=?[[UIAlertView?alloc]initWithTitle:nil?message:@"無效的手機號碼,請重新輸入..."?delegate:self?cancelButtonTitle:nil?otherButtonTitles:@"確定",?nil?nil];?? ????????????????alertView.tag?=?104;?? ????????????????[alertView?show];?? ????????????????? ????????????}else?? ????????????{?? ????????????????UIAlertController*alertController?=?[UIAlertController?alertControllerWithTitle:nil?message:@"無效的手機號碼,請重新輸入..."?preferredStyle:UIAlertControllerStyleAlert];?? ????????????????UIAlertAction?*otherAction?=?[UIAlertAction?actionWithTitle:@"確定"?style:UIAlertActionStyleDefault?handler:^(UIAlertAction*action)?{?? ????????????????????[_telField?selectAll:self];?? ????????????????}];?? ????????????????[alertController?addAction:otherAction];?? ????????????????[self?presentViewController:alertController?animated:YES?completion:nil];?? ????????????}?? ??? ??? ????????}?? ????????? ????????? ????}??
最近在做一個即時通訊的項目, 首先是注冊登錄界面, 項目需求是通過用戶輸入的手機號碼獲取一個4位數的驗證碼來完成注冊,那么, 問題來了?
如何判斷用戶輸入的手機號碼是合法的正確的11位手機號碼呢?(這些簡單的問題就在前端判斷好了再post給后臺 ,沒必要把各種沒用的數據都post給后臺)
判斷手機號碼是否正確的方法很多,我是用正則表達式來完成匹配的,廢話不多說,直接上代碼:
?
[objc]?view plaincopy
聯通,移動和電信每年都會添加新的號碼,所以匹配電話號碼的正則表達式也要年年更新.
^((13[0-9])|(15[^4,\\D])|(18[0,0-9]))\\d{8}$這個正則表達式我測試過了還沒發現有匹配不了的號碼,在這里分享給大家用!
總結
以上是生活随笔為你收集整理的iOS 正则表达式判断纯数字以及匹配11位手机号码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NSString拼接字符串和NSPred
- 下一篇: iOS NSTextAttachment