iOS 正则表达式判断纯数字及匹配11位手机号码的方法

第一种使用正则表达式 判断

//是否是纯数字 + (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(@"纯数字!"); }

最近在做一个即时通讯的项目, 首先是注册登录界面, 项目需求是通过用户输入的手机号码获取一个4位数的验证码来完成注册,那么, 问题来了?

如何判断用户输入的手机号码是合法的正确的11位手机号码呢?(这些简单的问题就在前端判断好了再post给后台 ,没必要把各种没用的数据都post给后台)

判断手机号码是否正确的方法很多,我是用正则表达式来完成匹配的,废话不多说,直接上代码:

//正则表达式匹配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]; } } }

联通,移动和电信每年都会添加新的号码,所以匹配电话号码的正则表达式也要年年更新.

^((13[0-9])|(15[^4,\\D])|(18[0,0-9]))\\d{8}$这个正则表达式我测试过了还没发现有匹配不了的号码,在这里分享给大家用!

时间: 2024-08-01 18:59:03

iOS 正则表达式判断纯数字及匹配11位手机号码的方法的相关文章

Android判断11位手机号码的方法(正则表达式)_Android

 项目里头需要做一个判断用户输入的号码是否是正确的手机号码,正确的手机号码应该是11位的,这里我们需要用一个正则表达式来进行判断,正则表达式的定义如下: public final static String PHONE_PATTERN = "^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$"; 然后我们写一个方法,主要有两个参数,1.正则表达式:2.输入的字符串(号码),方法如下: /** * 正则表达式匹配判断 * @param pattern

Android判断11位手机号码的方法(正则表达式)

项目里头需要做一个判断用户输入的号码是否是正确的手机号码,正确的手机号码应该是11位的,这里我们需要用一个正则表达式来进行判断,正则表达式的定义如下: public final static String PHONE_PATTERN = "^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$"; 然后我们写一个方法,主要有两个参数,1.正则表达式:2.输入的字符串(号码),方法如下: /** * 正则表达式匹配判断 * @param patternS

IOS正则表达式判断输入类型(整理)

在开发过程中,有时需要对用户输入的类型做判断,最常见是在注册页面即用户名和密码,代码整理如下: 只能为中文 -(BOOL)onlyInputChineseCharacters:(NSString*)string{ NSString *zhString = @"[\u4e00-\u9fa5]+"; NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",zhString]

戏说seo之关键词11位现象解决方法分享

今天,有个做搬家网的朋友找上了我,问我这个网站的关键词总是在第二页的12位或者13位徘徊,前段时间还掉到第四页了.后来他就去买了链接,做单向链接才恢复原来的排名.但是他始终想不明白关键词为什么进不来首页. 其实关键词在第二页,都是关键词11位现象,之前我写过一篇文章,就是解决11位想象的,这个待会就再次分享一次,但是写这篇文章的主要目的,是要让大家去分析网站,而不是单纯的就是看到11位,然后找人解决,下面谈谈我是怎么分析网站,然后对症下药的,我朋友的关键词是"太原搬家电话",在13位有

IOS中用正则表达式判断输入的内容为8-16位且同时包含数字和字母

今天在项目中需要用到判断用户输入的用户名长度为8-16位且同时包含数字和字母,在网上搜了一下正则表达式的用法,然后参考这篇blog,完美解答了问题.记录一下: 密码有如下要求:由数字和字母组成,并且要同时含有数字和字母,且长度要在8-16位之间. 如何分析需求?拆分!这就是软件设计的一般思路了.于是乎,拆分需求如下: 1,不能全部是数字 2,不能全部是字母 3,必须是数字或字母 只要能同时满足上面3个要求就可以了,写出来如下: 1 ^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-

Excel表格输入大量数字或身份证号码显示异常解决方法

在用 Excel 输入身份证号码.银行账户等较长数字后,为什么变成了有加号和字母的形式了呢?如下图 这是一个普遍的数字输入问题.Excel 中默认的数字格式是"常规",最多可以显示11位有效的数字,超过11位就会以科学记数形式表达. 要输入多位数字且能完全显示,可以尝试以下两种方法: 将单元格格式设置为文本 选中目标单元格,右击鼠标,选择"设置单元格格式". 在"数字"选项卡上,从"分类"下面选中"文本"选

百度11位半年终跳出的案例分享

相信有不少站长正在受到百度11位的困恼,笔者之前也是,不过今天成功的跳出了,这里把笔者网站的11位现象做个案例分享,希望能够帮助到这些为11位苦恼的站长们. 从接手网站开始,网站的主关键词"爱戴网"就被百度放在了11位的位置,接站之后,我做了很多相关原因的分析,也做个这么一些工作进行调整:用百度点击器点击关键词.控制服务器返回404.503等状态的数量.将一切与作弊有关系的优化操作都停止.在百度平台上进行投诉.大量做该关键词的锚文本外链等等,但还是在11位的位置并没有因为这些调整而跳出

IOS判断字符串是不是纯数字的方法总结_IOS

前言 在大家开发项目的时候,遇到需求可能是让我们只输入一段纯数字,这时候我们就要对这个字符串进行筛选判断,不符合纯数字进行提示操作,以求达到最好的交互效果也能满足需求. 下面介绍几种判断字符串是否为纯数字的方法 第一种方式是使用NSScanner: 1. 整形判断 - (BOOL)isPureInt:(NSString *)string{ NSScanner* scan = [NSScanner scannerWithString:string]; int val; return [scan s

iOS 中使用正则表达式判断身份证格式及银行卡号格式是否正确(推荐)_正则表达式

1.有时候我们会用到上传身份证号,或者银行卡号,这个时候就需要我们对身份证号以及银行卡号,进行基本的判断. 下面便是身份证号的判断返回YES是合法,反之不合法 #pragma mark 判断身份证号是否合法 - (BOOL)judgeIdentityStringValid:(NSString *)identityString { if (identityString.length != 18) return NO; // 正则表达式判断基本 身份证号是否满足格式 NSString *regex2