ios使用常用正则表达式验证密码身份证手机号

在项目中,我们在验证用户的输入,最简单的方法就是使用正则表达式了,ios系统也提供很方便的方法,让我们可以轻松的来验证用户名,密码,身份证好 ,手机号等;

下面附上我在项目中用到的正则表达式的验证方法,

由于比较常用,大家最好封装成+静态的方法,便于使用:

我把常用的方法,使用静态方法封装到一个 Utils类里面,直接使用类名调用即可:

头文件:

//// Utils.h// AutoSizing//// Created by yb on 15/2/7.// Copyright (c) 2015年 All rights reserved.//#import <Foundation/Foundation.h>@interface Utils : NSObject#pragma 正则匹配手机号+ (BOOL)checkTelNumber:(NSString *) telNumber;#pragma 正则匹配用户密码6-18位数字和字母组合+ (BOOL)checkPassword:(NSString *) password;#pragma 正则匹配用户姓名,20位的中文或英文+ (BOOL)checkUserName : (NSString *) userName;#pragma 正则匹配用户身份证号+ (BOOL)checkUserIdCard: (NSString *) idCard;#pragma 正则匹员工号,12位的数字+ (BOOL)checkEmployeeNumber : (NSString *) number;#pragma 正则匹配URL+ (BOOL)checkURL : (NSString *) url;@end.m实现文件://// Utils.m// AutoSizing//// Created by yb on 15/2/7.// Copyright (c) 2015年 All rights reserved.//#import "Utils.h"@implementation Utils#pragma 正则匹配手机号+ (BOOL)checkTelNumber:(NSString *) telNumber{NSString *pattern = @"^1+[3578]+\\d{9}";NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", pattern];BOOL isMatch = [pred evaluateWithObject:telNumber];return isMatch;}#pragma 正则匹配用户密码6-18位数字和字母组合+ (BOOL)checkPassword:(NSString *) password{NSString *pattern = @"^(?![0-9]+$)(?![a-zA-Z]+$)[a-zA-Z0-9]{6,18}";NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", pattern];BOOL isMatch = [pred evaluateWithObject:password];return isMatch;}#pragma 正则匹配用户姓名,20位的中文或英文+ (BOOL)checkUserName : (NSString *) userName{NSString *pattern = @"^[a-zA-Z\u4E00-\u9FA5]{1,20}";NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", pattern];BOOL isMatch = [pred evaluateWithObject:userName];return isMatch;}#pragma 正则匹配用户身份证号15或18位+ (BOOL)checkUserIdCard: (NSString *) idCard{NSString *pattern = @"(^[0-9]{15}$)|([0-9]{17}([0-9]|X)$)";NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", pattern];BOOL isMatch = [pred evaluateWithObject:idCard];return isMatch;}#pragma 正则匹员工号,12位的数字+ (BOOL)checkEmployeeNumber : (NSString *) number{NSString *pattern = @"^[0-9]{12}";NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", pattern];BOOL isMatch = [pred evaluateWithObject:number];return isMatch;}#pragma 正则匹配URL+ (BOOL)checkURL : (NSString *) url{NSString *pattern = @"^[0-9A-Za-z]{1,50}";NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", pattern];BOOL isMatch = [pred evaluateWithObject:url];return isMatch;}@end

原文地址:

使用方法示例:

if ([Utils checkTelNumber:@"18801112020"]) //匹配结果,为YES{NSLog(@"手机号格式正确");}else//匹配结果为NO{NSLog(@"手机号格式错误");}

,吃水不忘挖井人。

ios使用常用正则表达式验证密码身份证手机号

相关文章:

你感兴趣的文章:

标签云: