正则表达式检测邮箱格式:
- (BOOL)validateMailAddressFormat:(NSString*)emailStr;
{
NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
return [emailTest evaluateWithObject:emailStr];
}
ASCII码检测禁止空格输入:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
unichar uc = [string characterAtIndex: [string length]-1];
//禁止输入空格 ASCII ==32
if (uc == 32) {
return NO;
}
}
统计文字中字节数:
//统计文本字符数量(字节数) 汉字占两个 数字英文字母符号等占一个
-(NSUInteger) unicodeLengthOfString: (NSString *) text {
NSUInteger asciiLength = 0;
for (NSUInteger i = 0; i < text.length; i++) {
unichar uc = [text characterAtIndex: i];
asciiLength += isascii(uc) ? 1 : 2;
}
NSLog(@"asciiLength === %d",asciiLength);
return asciiLength;
}