常用正則表示式——銀行卡號,2-6位中文名,手機號
阿新 • • 發佈:2019-02-19
以下是常用正則表示式,已親測,確定可用
手機號
- (BOOL)checkTelNumber:(NSString *)phone
{
NSString *phoneRegex = @"1[3|5|7|8|][0-9]{9}";
NSPredicate *phoneTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", phoneRegex];
return [phoneTest evaluateWithObject:phone];
}
2-6位中文名
- (BOOL)checkName:(NSString *)name { NSString *phoneRegex = @"[\u4e00-\u9fa5]{2,6}"; NSPredicate *phoneTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", phoneRegex]; return [phoneTest evaluateWithObject:name]; }
銀行卡號(儲蓄卡,信用卡)
<span style="font-family: Arial, Helvetica, sans-serif;">- (BOOL) checkCardNo:(NSString*) cardNo{</span>
int oddsum = 0; //奇數求和 int evensum = 0; //偶數求和 int allsum = 0; int cardNoLength = (int)[cardNo length]; int lastNum = [[cardNo substringFromIndex:cardNoLength-1] intValue]; cardNo = [cardNo substringToIndex:cardNoLength - 1]; for (int i = cardNoLength -1 ; i>=1;i--) { NSString *tmpString = [cardNo substringWithRange:NSMakeRange(i-1, 1)]; int tmpVal = [tmpString intValue]; if (cardNoLength % 2 ==1 ) { if((i % 2) == 0){ tmpVal *= 2; if(tmpVal>=10) tmpVal -= 9; evensum += tmpVal; }else{ oddsum += tmpVal; } }else{ if((i % 2) == 1){ tmpVal *= 2; if(tmpVal>=10) tmpVal -= 9; evensum += tmpVal; }else{ oddsum += tmpVal; } } } allsum = oddsum + evensum; allsum += lastNum; if((allsum % 10) == 0) return YES; else return NO; }