现在很多app软件注册的方式都采用手机号码注册,手机号码毫无疑问都是有数字组成的。为了避免用户输入错误的手机号码,所以我们要做手机号码的验证。手机号码的验证其实还是非常简单的,采用正则表达式就行了。

我把手机号码验证的方法单独的写在了一个类中,在项目中需要用的地方,只需要调用这个类中判断手机号码格式的方法就行了,先看一下手机号码验证方法的代码:

<span style="font-size:18px;">//验证手机号码格式
- (BOOL)isMobileNumber:(NSString *)mobileNum {/*手机号码移动: 134[0-8], 135, 136, 137, 138, 139, 150, 151, 158, 159, 182, 187, 188联通: 130, 131, 132, 152, 155, 156, 185, 186电信: 133, 1349, 153, 180, 189*/NSString * MOBILE = @"@^1(3[0-9]|5[0-35-9]|8[025-9])\\d{8}$";/*中国移动: China Mobile移动: 134[0-8], 135, 136, 137, 138, 139, 150, 151, 158, 159, 182, 187, 188*/NSString * CM = @"^1(34[0-8]|(3[5-9]|5[017-9]|8[278])\\d)\\d{7}$";/*中国联通: China Unicom联通: 130, 131, 132, 152, 155, 156, 185, 186*/NSString * CU = @"^1(3[0-2]|5[256]|8[56])\\d{8}$";/*中国电信: China Telecom电信: 133, 1349, 153, 180, 189*/NSString * CT = @"^1((33|53|8[09])[0-9]|349)\\d{7}$";/*大陆地区固定电话及小灵通区号: 010, 020, 021, 022, 023, 024, 025, 027, 028, 029号码: 七位或八位*/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:mobileNum] == YES)|| ([regextestcm evaluateWithObject:mobileNum] == YES)|| ([regextestcu evaluateWithObject:mobileNum] == YES)|| ([regextestct evaluateWithObject:mobileNum] == YES)){return YES;}else {return NO;}}
</span>

手机号码验证的方法已经写好了,下面我们直接进行调用这个方法就行了。

1、.h中的代码如下:

<span style="font-size:18px;">#import <UIKit/UIKit.h>@interface ViewController : UIViewController
{UITextField *textMobile;
}@end
</span>

2、.m中的代码如下:

<span style="font-size:18px;">#import "ViewController.h"
#import "MobileNumFormat.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad {[super viewDidLoad];UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(30, 200, 60, 25)];label.text = @"手机号:";[self.view addSubview:label];textMobile = [[UITextField alloc] initWithFrame:CGRectMake(90, 200, 200, 25)];textMobile.layer.borderColor = [UIColor blackColor].CGColor;textMobile.layer.borderWidth = 1.0;textMobile.layer.cornerRadius = 2.0;[self.view addSubview:textMobile];UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(80, 250, 200, 35)];[btn setTitle:@"确  定" forState:UIControlStateNormal];[btn setBackgroundColor:[UIColor grayColor]];[btn addTarget:self action:@selector(btn:) forControlEvents:UIControlEventTouchUpInside];[self.view addSubview:btn];
}- (void)btn:(id)sender {MobileNumFormat *mobile = [[MobileNumFormat alloc] init];if ([mobile isMobileNumber:textMobile.text] == NO) {UIAlertView *alter = [[UIAlertView alloc]initWithTitle:@"温馨提示"message:@"手机号码格式错误"delegate:selfcancelButtonTitle:nilotherButtonTitles:@"确定", nil];[alter show];}}@end
</span>

3、效果如下:

  

IOS 验证手机号格式相关推荐

  1. java 验证手机号格式_java 校验手机号格式

    主要用到这两个包: import java.util.regex.Matcher; import java.util.regex.Pattern; Pattern类用于创建一个正则表达式,生成一个Pa ...

  2. java验证手机号格式方法

    1.直接写一个工具类,代码如下: /** 正则表达* 手机号码由11位数字组成,* 匹配格式:前三位固定格式+后8位任意数* 此方法中前三位格式有:* 13+任意数* 15+除4的任意数* 18+除1 ...

  3. 使用正则表达式验证手机号格式

    废话不多说,直接上代码,有什么区段可以补充的,请告知! /** * 校验手机号格式 * * @param number * @return */ public static boolean isMob ...

  4. 检查 验证 手机号格式 CheckPhoneUtil

    比较简单,不解释了,直接上代码: public class CheckPhoneUtil {public static boolean checkPhone(String phone) {Patter ...

  5. php 验证手机号邮箱,PHP正则验证真实姓名、手机号码、邮箱

    在开发中,通常会遇见简单的表单验证,希望快速获取用户提交信息,但是为了安全考虑,我们不光前端需要做js验证,后端也需要做相应的验证,确保不是恶意提交的信息,以下是php通过正则来验证真实姓名.手机号码 ...

  6. 手机号正则表达式html,js 获取input的value值及验证手机号和汉字的正则表达式

    在项目中经常遇到需要验证输入内容的情况,可以通过 Javascript 判断输入内容,验证手机号或者是否为汉字. 简单的记录一下: HTML部分: 提交 js 部分: 首先获取到元素:var unam ...

  7. 微信小程序(手机号正则表达式如何验证)手机号格式验证

    我们在表单验证的时候,使用表单验证是很常见的场景 if (!this.form.name) {this.utils.toast('姓名不能为空');return}if (!this.form.card ...

  8. 如何获取用户当前位置并生成国际拨号前缀+验证不同国家的手机号格式

    文章目录 前言 一.引入并启用API 二.js和html页面代码 1.js代码 2.html代码 三.将原生js写在vue项目中 前言 该demo使用了HTML5的Geolocation API和Go ...

  9. JS验证手机号,密码,邮箱格式

    相关解释: 1.  /^$/ 这个是个通用的格式.          ^ 匹配输入字符串的开始位置:$匹配输入字符串的结束位置      2. 里面输入需要实现的功能.         * 匹配前面的 ...

  10. el-form表单验证身份证合法性和手机号格式

    一.需求:身份证号:根据身份证编码规则在表单输入框添加校验,手机号:验证基本格式. 1.验证form表单身份证合法性和手机号格式,页面效果如下 2.身份证编码规则 排列顺序从左至右依次为:六位数字地址 ...

最新文章

  1. 记录在Ubuntu14.04上安装ryu中遇到的各种坑
  2. 中石油训练赛 - 围栏翻新(思维+贪心+差分)
  3. 用python绘制熊猫图案_绘制带有熊猫和Matplotlib的一分钟烛台
  4. java 类确定运行时间_java回调函数实例:实现一个测试函数运行时间的工具类
  5. openwrt x86 登录不上_求助,关于OpenWRT外接硬盘不识别的问题
  6. qt 里面使用webengine
  7. 顶岗实习周记java方向_java 实习周记
  8. 过QQ游戏大厅的SX保护 - Evil0r's Blog - 博客频道 - CSDN_NET
  9. Intel Edison 第一次使用的更新
  10. Q版本 安卓手机录制系统声音
  11. 完美国际真数苹果_苹果手机:Checkm8漏洞永久性破解A5-A11设备 全线旧设备实现完美越狱...
  12. 关于电脑右键缺少office三件套的解决方案
  13. mysql where 位子,mysql中 地里位置搜索 (抄)
  14. 用Java计算二月份有多少天
  15. easyAR学习(二)
  16. Java 在二维坐标系绘制矩形、圆形、多边形
  17. C/C++test白盒测试的落地实践
  18. SQL 关系除法和AS别名的坑
  19. 微信开放标签踩坑记录
  20. 192.168.1.1 路由器用户名和密码是什么

热门文章

  1. 深入剖析https原理——加密,完整与端点鉴别
  2. OC试题 ——通讯录(AddressBook)
  3. ZOJ 3551 Bloodsucker 题解
  4. 页面html背景图片居中显示文字,DIV+CSS中让布局、背景图片、文字内容居中的方法...
  5. linux 安装 gdrive
  6. 清空html输入框,jquery清空textarea等输入框
  7. 多标签分类与多任务学习
  8. BI分析工具深度测评:FineBI vs Tableau
  9. JavaEE中的依赖性——依赖查找
  10. 陈式太极拳式名考释、动作、着法要领说明