验证正则表达式

来源:互联网 发布:匿名举报网络诈骗 编辑:程序博客网 时间:2024/06/05 16:01

验证数字的正则表达式集 
验证数字:^[0-9]*$ 
验证n位的数字:^\d{n}$ 
验证至少n位数字:^\d{n,}$ 
验证m-n位的数字:^\d{m,n}$ 
验证零和非零开头的数字:^(0|[1-9][0-9]*)$ 
验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$ 
验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$ 
验证非零的正整数:^\+?[1-9][0-9]*$ 
验证非零的负整数:^\-[1-9][0-9]*$ 
验证非负整数(正整数 + 0) ^\d+$ 
验证非正整数(负整数 + 0) ^((-\d+)|(0+))$ 
验证长度为3的字符:^.{3}$ 
验证由26个英文字母组成的字符串:^[A-Za-z]+$ 
验证由26个大写英文字母组成的字符串:^[A-Z]+$ 
验证由26个小写英文字母组成的字符串:^[a-z]+$ 
验证由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$ 
验证由数字、26个英文字母或者下划线组成的字符串:^\w+$ 
验证用户密码:^[a-zA-Z]\w{5,17}$ 正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。 
验证是否含有 ^%&',;=?$\" 等字符:[^%&',;=?$\x22]+ 
验证汉字:^[\u4e00-\u9fa5],{0,}$ 
验证Email地址:^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ 
验证InternetURL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ ;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$ 
验证电话号码:^(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}$:--正确格式为:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。 
验证身份证号(15位或18位数字):^\d{15}|\d{}18$ 
验证一年的12个月:^(0?[1-9]|1[0-2])$ 正确格式为:“01”-“09”和“1”“12” 
验证一个月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$ 正确格式为:01、09和1、31。 
整数:^-?\d+$ 
非负浮点数(正浮点数 + 0):^\d+(\.\d+)?$ 
正浮点数 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$ 
非正浮点数(负浮点数 + 0) ^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 
负浮点数 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$ 
浮点数 ^(-?\d+)(\.\d+)?$ 


纯数字:^\d+$
纯字母:^[a-zA-Z]+$
纯特殊字符:^[@#$%^&]+$  ps:特殊字符看你定义的标准是什么
字母+数字:^(?!\d+$)(?![a-zA-Z]+$)[a-zA-Z\d]+$
字母+特殊字符:^(?![a-zA-Z]+$)(?![@#$%^&]+$)[a-zA-Z@#$%^&]+$
数字+特殊字符:^(?!\d+)(?![@#$%^&]+$)[\d@#$%^&]+$
字母+数字+特殊字符:^(?!\d+$)(?![a-zA-Z]+$)(?![@#$%^&]+$)[\da-zA-Z@#$%^&]+$

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

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

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

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

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

头文件:

 

////  Utils.h//  AutoSizing////  Created by yb on 15/2/7.//  Copyright (c) 2015年 http://blog.csdn.net/yangbingbinga. All rights reserved.//#import @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年 http://blog.csdn.net/yangbingbinga. 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一-龥]{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

 

原文地址:www.2cto.com

 


使用方法示例:

 

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

文章链接 http://www.2cto.com/kf/201502/376360.html
http://www.jb51.net/article/46326.htm

更全面http://www.admin10000.com/document/5944.html
1 0
原创粉丝点击