iOS 开发手机正则和邮箱正则

#pragma mark  判断手机号码格式是否正确

+ (BOOL)valiMobile:(NSString *)mobileNum
{
    /**
     * 手机号码
     * 移动:134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188
     * 147,152,183,184
     * 联通:130,131,132,152,155,156,185,186
     * 166,175,176,145
     * 电信: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,157,158,159,182,187,188
     */
    NSString * CM = @"^1(34[0-8]|(3[5-9]|5[0127-9]|8[23478]|4[7])\\d)\\d{7}$";

    /**
     * 中国联通:China Unicom
     * 130,131,132,152,155,156,175,176,185,186
     */
    NSString * CU = @"^1(3[0-2]|5[256]|7[56]|8[56]|6[6]|4[5])\\d{8}$";

    /**
     * 中国电信:China Telecom
     * 133,1349,153,177,180,189
     */
    NSString * CT = @"^1((33|53|77|8[09]|34)[0-9]|349)\\d{7}$";

    /**
     * 大陆地区固话及小灵通
     * 区号:010,020,021,022,023,024,025,027,028,029
     * 号码:七位或八位
     */
    NSString * PHS = @"^0(10|2[0-5789]|\\d{3})\\d{7,8}$";

    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];
    NSPredicate *regextestPHS = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", PHS];

    if(([regextestmobile evaluateWithObject:mobileNum] == YES)
       || ([regextestcm evaluateWithObject:mobileNum] == YES)
       || ([regextestct evaluateWithObject:mobileNum] == YES)
       || ([regextestcu evaluateWithObject:mobileNum] == YES)
       || ([regextestPHS evaluateWithObject:mobileNum] == YES)){
        return YES;
    }else{
        return NO;
    }
}
#pragma mark 判断邮箱

+ (BOOL)checkEmail:(NSString *)email
{

    //^(\\w)+(\\.\\w+)*@(\\w)+((\\.\\w{2,3}){1,3})$
    //[A-Z0-9a-z._%+-][email protected][A-Za-z0-9.-]+\\.[A-Za-z]{2,4} //2020.1.10更换
    //^[a-zA-Z0-9_-][email protected][a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$
    NSString *regex = @"[A-Z0-9a-z._%+-][email protected][A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";

    NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];

    return [emailTest evaluateWithObject:email];

}

原文地址:https://www.cnblogs.com/liuw-flexi/p/12329979.html

时间: 2024-07-31 18:12:28

iOS 开发手机正则和邮箱正则的相关文章

iOS开发实用技巧—身份证的正则校验

iOS开发实用技巧—身份证的正则校验 说明: 在ios项目的开发中可能很多地方都需要用到身份证校验,一般在开发的时候很多人都是直接百度去网上荡相关的正则表达式和校验代码,但是网上疯狂粘贴复制的校验代码本身也可能并不准确,可能会有风险,比如2013年1月1号起停止使用15位的身份证,网上的身份证校验普遍支持15位的号码. 在开发过程中,进行类似处理的时候,还是需要一些甄别的能力的,当然也要考虑自己的项目的实际情况.该文贴出了最近项目中使用到得身份证校验代码,以方便有需要的人“谨慎”获取. 一.规则

iOS开发-UITextField手机号和邮箱验证

不管是网页是手机,用户注册登录的时候绝大数时候都需要手机号码和邮箱地址,而且有些App会限制只能使用手机号注册,iOS方面邮箱正则比较简单,不过手机号码验证找了一下网上的,发现三大运营商的号码段有所变化,通过最新的号码段判断用户手机验证的时候出错概率会小,如果有遗漏的号码段,欢迎补充. /*手机验证 */ + (BOOL)isMobileNumber:(NSString *)mobileNum { /** * 手机号码 * 移动:134/135/136/137/138/139/150/151/1

IOS开发中怎样验证邮箱的合法性

文章参考:http://www.codes51.com/article/detail_94157.html 代码: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. [email protected]"验证邮箱的合法性"; NSString *[email protected]"[email protected]"; NSLog(

java邮箱正则验证

import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; public class test{ public static void main(String args[]){ System.out.println(test.isEmail("[email protected]")); } public static boolean isEmail(String email){

php email邮箱正则

php email邮箱正则 /^ [a-z] ([a-z0-9]*[-_]?[a-z0-9]+)* @ ([a-z0-9]*[-_]?[a-z0-9]+)+ [\.] [a-z]{2,3} ([\.][a-z]{2})? $/i; /i 构成一个不区分大小写的正则表达式; ^ 匹配开始 $ 匹配结束 * 表示0个或者多个. + 表示1个或者多个. ? 表示0个或者1个. [a-z] E-Mail前缀必需是一个英文字母开头 ([a-z0-9]*[-_]?[a-z0-9]+)* 和_a_2.aaa1

iOS开发中,怎么打包为ipa格式的软件包以及怎么安装到手机终端上

iOS开发中,怎么打包为ipa格式的软件包以及怎么安装到手机终端上. (我的开发环境为Xcode6.1.1 ) 作为个人开发者(当然我的开发者帐号为个人开发者帐号,而不是企业开发者帐号),对于自己来说,我们只需要真机调试就可以将应用安装到自己的手机上:如果你在发布前想给更多的测试或朋友使用你的APP(关键是他们并不在你的身边,如果在你的身边,你当然可以通过真机调试一个一个的将应用安装到他们的手机上:此时你的APP还没有上线,Appstore还没有),你该怎么做呢?想想吧! 在开发者中心中,你可能

iOS开发实用技巧—在手机浏览器头部弹出app应用下载提示

iOS开发实用技巧—在手机浏览器头部弹出app应用下载提示 本文介绍其简单使用: 第一步:在本地建立一个访问的服务端.  打开本地终端,在本地新建一个文件夹,在该文件夹中存放测试的html页面.   在终端输入一行代码:python -m SimpleHTTPServer ---第二步:配置环境  打开safari,偏好设置->勾选 "在菜单栏中显示开发菜单",如下图所示. 第三步:编写html文件 在测试文件appdown.html中编写的测试代码如下:   `说明`44493

C#高级------正则验证邮箱

//正则表达式匹配邮箱 Console.WriteLine("请输入邮箱"); string s = Console.ReadLine(); bool b= Regex.IsMatch(s, @"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"); if(!b) { Console.WriteLine("

手机屏幕尺寸与iOS开发坐标的关系

物理尺寸:指屏幕对角线的尺寸,一般用英寸(inch)来表示. 分辨率:是指单位长度内包含的像素点的数量.例如,以分辨率为1024×768的屏幕来说,即每一条水平线上包含有1024个像素点,共有768条线,即扫描列数为1024列,行数为768行.描述分辨率的单位有DPI(点每英寸).LPI(线每英寸)和PPI(像素每英寸). PPI计算公式: (X:长度像素数:Y:宽度像素数:Z:屏幕物理大小) 分享一个PPI在线计算器:入口 例如小米手机2的PPI计算为: 注意: 对iOS开发人员,iPhone