NSString+Validation.h
1.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
//
// NSString+Validation.h
// CNLiveScioLive
//
// Created by CNLive-zxw on 2018/9/20.
// Copyright © 2018年 CNLive. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface NSString (Validation)
- (BOOL)isValidMobile;
//邮箱
- (BOOL)isValidEmail;
//验证码
- (BOOL)isValidCode;
//身份证号
- (BOOL) simpleVerifyIdentityCardNum;
//车牌
- (BOOL)isCarNumber;
- (BOOL)isMacAddress;
//url
- (BOOL)isValidUrl;
//中文
- (BOOL)isValidChinese;
//邮政编码
- (BOOL)isValidPostalCode;
//车牌
- (BOOL)isValidTaxNo;
- (BOOL)isValidWithMinLenth:(NSInteger)minLenth
maxLenth:(NSInteger)maxLenth
containChinese:(BOOL)containChinese
firstCannotBeDigtal:(BOOL)firstCannotBeDigtal;
- (BOOL)isValidWithMinLenth:(NSInteger)minLenth
maxLenth:(NSInteger)maxLenth
containChinese:(BOOL)containChinese
containDigtal:(BOOL)containDigtal
containLetter:(BOOL)containLetter
containOtherCharacter:(NSString *)containOtherCharacter
firstCannotBeDigtal:(BOOL)firstCannotBeDigtal;
#pragma mark - 算法相关
//精确的身份证号码有效性检测
+ (BOOL)accurateVerifyIDCardNumber:(NSString *)value;
/** 银行卡号有效性问题Luhn算法
* 现行 16 位银联卡现行卡号开头 6 位是 622126~622925 之间的,7 到 15 位是银行自定义的,
* 可能是发卡分行,发卡网点,发卡序号,第 16 位是校验码。
* 16 位卡号校验位采用 Luhm 校验方法计算:
* 1,将未带校验位的 15 位卡号从右依次编号 1 到 15,位于奇数位号上的数字乘以 2
* 2,将奇位乘积的个十位全部相加,再加上所有偶数位上的数字
* 3,将加法和加上校验位能被 10 整除。
*/
- (BOOL)bankCardluhmCheck;
- (BOOL)isIPAddress;
- (BOOL)isValidPassWordLegal;
- (BOOL)isValidPasswordString;
+ (NSString *)numberSuitScanf:(NSString*)number;
@end