iOS开发正则表达式,验证是否是邮箱,手机号,银行卡号,URL等等
这里是用的类扩展,封装了验证是否是邮箱,手机号,工商税号,身份证号,链接,车牌号等等功能.
.h文件
#import <Foundation/Foundation.h>
@interface NSString (Validate)
/**
* 是否为空
*
* @return
*/
- (BOOL)isEmpty;
/**
* 长度位于min到max之间
*
* @param min
* @param max
*
* @return
*/
- (BOOL)betweenWith:(int)min and:(int)max;
/**
* 必须大于
*
* @param length
*
* @return
*/
- (BOOL)hasGreaterThanLength:(int)length;
/**
* 等于长度
*
* @param length
*
* @return
*/
- (BOOL)equalLength:(int)length;
/**
* 是否大于长度
*
* @param number
*
* @return
*/
- (BOOL)isGreaterThanNumber:(double)number;
/**
* 是否小于长度
*
* @param number
*
* @return
*/
- (BOOL)isLessThanNumber:(double)number;
/**
* 验证车牌号
*
* @return
*/
- (BOOL)isEqualToCardNumber;
/**
* 验证邮政编码
*
* @return
*/
- (BOOL)isEqualToPostalCode;
/**
* 验证IP
*
* @return
*/
- (BOOL)isEqualToIP;
/**
* 验证工商税号
*
* @return
*/
- (BOOL)isEqualToTaxNumber;
/**
* 是否是数字(不区分正负数)
*
* @return
*/
- (BOOL)isEqualToNumber;
/**
* 是否是小数(不区分正负数)
*
* @return
*/
- (BOOL)isEqualToDecimal;
/**
* 是否是11位手机号
*
* @return
*/
- (BOOL)isEqualToPhone;
/**
* 是否是国内电话号码,匹配形式如xxxx-xxxxxxx(xxxxxxxx)或xxx-xxxxxxxx
*
* @return
*/
- (BOOL)isEqualToTelPhone;
/**
* 是否是邮箱地址
*
* @return
*/
- (BOOL)isEqualToEmail;
/**
* 是否是URl
*
* @return
*/
- (BOOL)isEqualToURL;
/**
* 是否是中文名称
*
* @return
*/
- (BOOL)isEqualToCNName;
/**
* 是否是15位或18位身份证号码
*
* @return
*/
- (BOOL)isEqualToIdentity;
/**
* 匹配正则
*
* @param regex 正则表达式
*
* @return
*/
- (BOOL)isEqualToRegex:(NSString *)regex;
@end
.m文件
#import "NSString+Validate.h"
@implementation NSString (Validate)
- (BOOL)isEmpty
{
if (self.length < 1) {
return NO;
}
return ([self stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]].length < 1);
}
- (BOOL)betweenWith:(int)min and:(int)max
{
if ([self isEmpty]) {
return NO;
}
return (self.length >= min && self.length < max);
}
- (BOOL)hasGreaterThanLength:(int)length
{
if ([self isEmpty]) {
return NO;
}
return self.length > length;
}
- (BOOL)equalLength:(int)length
{
if ([self isEmpty]) {
return NO;
}
return self.length == length;
}
- (BOOL)isGreaterThanNumber:(double)number
{
return [self doubleValue] > number;
}
- (BOOL)isLessThanNumber:(double)number
{
return [self doubleValue] < number;
}
- (BOOL)isEqualToCardNumber
{
return [self validateString:@"^[A-Za-z]{1}[A-Za-z_0-9]{5}$"];
}
- (BOOL)isEqualToPostalCode
{
return [self validateString:@"^[0-8]\\d{5}(?!\\d)$"];
}
- (BOOL)isEqualToIP
{
BOOL rc = [self validateString:@"^(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$"];
if (rc) {
NSArray *componds = [self componentsSeparatedByString:@","];
BOOL v = YES;
for (NSString *s in componds) {
if (s.integerValue > 255) {
v = NO;
break;
}
}
return v;
}
return NO;
}
- (BOOL)isEqualToTaxNumber
{
return [self validateString:@"[0-9]\\d{13}([0-9]|X)$"];
}
- (BOOL)isEqualToNumber
{
return [self validateString:@"\\d+"];
}
- (BOOL)isEqualToDecimal
{
return [self validateString:@"\\d+(\\.\\d+)?"];
}
- (BOOL)isEqualToPhone
{
return [self validateString:@"1[3|4|5|7|8][0-9]{9}"];
}
- (BOOL)isEqualToTelPhone
{
return [self validateString:@"\\d{3}(-)?\\d{8}|\\d{4}(-)?\\d{7,8}"];
}
- (BOOL)isEqualToEmail
{
return [self validateString:@"\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*"];
}
- (BOOL)isEqualToURL
{
return [self validateString:@"[http|https]+://[0-9a-zA-Z]+[0-9a-zA-Z.-]*.[a-zA-Z]{2,4}/?[^\\s]*"];
}
- (BOOL)isEqualToCNName
{
return [self validateString:@"[\\u4E00-\\u9FA5]{2,5}(?:·[\\u4E00-\\u9FA5]{2,5})*"];
}
- (BOOL)isEqualToIdentity
{
return [self validateString:@"\\d{15}|\\d{18}|\\d{17}[x|X]"];
}
- (BOOL)isEqualToRegex:(NSString *)regex
{
return [self validateString:regex];
}
- (BOOL)validateString:(NSString *)regex
{
if ([self isEmpty]) {
return NO;
}
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
BOOL result = [predicate evaluateWithObject:self];
return result;
}
@end
iOS开发正则表达式,验证是否是邮箱,手机号,银行卡号,URL等等相关推荐
- Java用正则表达式验证用户输入的手机号和QQ邮箱
import java.util.Scanner;public class Test {public static void main(String[] args) {//用正则验证 用户输入的手机号 ...
- 正则表达式验证座机号码,手机号等
用js正则表达式验证手机号,座机号和email格式 关键字: javascript Js代码 /** *author zhutou **/ //手机号:13912345678 ...
- Android 正则表达式验证手机和邮箱格式是否正确
demo例子: package it.com.cc; import java.util.regex.Matcher; import java.util.regex.Pattern; import an ...
- iOS开发--正则表达式
目录[-] 正则表达式简单语法总结 一.什么是正则表达式 二.正则表达式的基础语法 1.字面值 2.特殊字符(元字符) (1)句号 (2)字符类([]) (3)区间符号(-) (4)取反符号(^) ( ...
- iOS开发之苹果公司联系邮箱大全
苹果开发者热线: 4006701855 申请邓氏编码出问题了可以拨打客服热线: 4008202669 AppReview@apple.com 应用在提交后(处于"审核中"),应用和 ...
- 正则表达式验证11位数的手机号
getShortMessageCode() {let regs = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-3 ...
- iOS开发 - 正则表达式 RegexKitLite框架
准备工作 使用RegexKitLite正则表达式需要以下工作: 1.RegexKitLite官方网址(内含使用教程):http://regexkit.sourceforge.net/RegexKitL ...
- PHP正则表达式验证手机号、邮箱、身份证号码、姓名等
在PHP编写的程序中,为了保证代码本身的流程安全,少不了对数据流进行一些效验的工作.而PHP给我提供了正则表达式验证函数,我们可以很方便的通过正则表达式的验证函数,来检查数据流是否符合标准. 今天我们 ...
- html正则表达式验证电话号码,Javascript正则表达式验证账号、手机号、电话和邮箱的合法性...
正则表达式是用于匹配字符串中字符组合的模式.在 JavaScript中,正则表达式也是对象.这些模式被用于 RegExp 的 exec 和 test 方法, 以及 String 的 match.rep ...
最新文章
- 8种最坑的SQL错误用法,第一个就很坑?
- Entity Framework 实体关系总结:one-to-one, one-to-many, many-to-many
- a1708硬盘转接口_2015年A1502 Macbook Pro更换硬盘
- 拯救react的hooks:react的问题和hooks的作用
- 和搜狗输入法快捷键冲突_电脑输入法怎么设置成搜狗双拼?
- 输入文件c语言程序,C语言程序设计 对文件的输入输出.ppt
- php百度搜索框代码,基于jquery的仿百度搜索框效果代码_jquery
- Springsecurity之AuthenticationProvider
- 分布式事务架构设计原理
- std c++ 获取运行时间封装
- ChaiNext:比特币再度考验5W关口
- qtextedit 默认文案_Qt设置QTextEdit和QLabel的字体颜色 | 学步园
- java队列和栈实现原理_Java特性队列和栈的堵塞原理解析
- 2022电工杯AB题思路分析
- EXCEL VBA编程进阶-曾贤志-专题视频课程
- pe显示linux分区文件,找到了linux分区顺序错乱修复方法
- ESP车身电子稳定系统
- linux 3.0实时性,如何1分钟内对 Linux 性能快速分析(113资讯网)
- bzoj1627 / P2873 [USACO07DEC]泥水坑Mud Puddles
- SkyWalking系列之skywalking go agent配置使用