时间:2021-05-02
第一种使用正则表达式判断
? 1 2 3 4 5 6 7 8 9 10 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; } }具体正则对不对 还需要大家来看以下
第二种 系统源生的
我推荐第二种
? 1 2 3 4 5 6 7 8 9 10 - (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给后台)
判断手机号码是否正确的方法很多,我是用正则表达式来完成匹配的,废话不多说,直接上代码:
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 //正则表达式匹配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}$这个正则表达式我测试过了还没发现有匹配不了的号码,在这里分享给大家用!
原文链接:http://blog.csdn.net/qq_29846663/article/details/54598719
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
项目里头需要做一个判断用户输入的号码是否是正确的手机号码,正确的手机号码应该是11位的,这里我们需要用一个正则表达式来进行判断,正则表达式的定义如下:publi
本文实例讲述了java使用正则表达式判断手机号的方法。分享给大家供大家参考,具体如下:要更加准确的匹配手机号码只匹配11位数字是不够的,比如说就没有以144开始
常用的正则匹配表达式正则表达式--验证手机号码:13[0-9]{9}实现手机号前带86或是+86的情况:^((\+86)|(86))?(13)\d{9}$电话号
我们在处理客户信息时经常需要验证客户输入的手机号码是否有错误或是否有效,下面的正则表达式可以帮助你完成这样的功能。验证输入的手机号码是否有效的正则表达式如下:"
下面给大家分享2018手机号正则表达式验证方法,具体内容如下所示:?12345678/***判断字符串是否符合手机号码格式*移动号段:134,135,136,1