正则表达式
王帅:
-(void)textFieldDidEndEditing:(UITextField *)textField{
[self.contactField resignFirstResponder];
if (_contactField == textField) {
// NSString *phoneRe = @"^((13[0-9])|(15[^4,\\D])|(17[0-9])|(18[0,0-9]))\\d{8}$";//手机
NSString *phoneRe = @"^(0(\\d{2,3}))(\\d{7,8})|(1[3-9][0-9]{9})$";//电话 或者手机
//
NSPredicate *phoneTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",phoneRe];
BOOL bitbool1 = [phoneTest evaluateWithObject:_contactField.text];
if (!bitbool1) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"温馨提示" message:@"请输入正确的联系方式" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"确定", nil];
[alert show];
// [_contactField becomeFirstResponder];
}else{
[_contactField resignFirstResponder];
}
}
}
纯数字
^[0-9]+$
纯数字(6-16位)
^[0-9]{6,16}+$
验证输入带数字(或纯数字,或小数)
d+(.d{1,6})|d+
验证汉字
^[u4e00-u9fa5]{2,20}$
验证只能输入汉字或英文字符
[u4e00-u9fa5]{2,20}$|[A-Za-z]*
金额的验证(或纯数字,或小数点后最多两位,并且整数为必须大于0)
^([1-9]d+|[1-9])(.dd?)*$
验证只能输英文字母,数字,下划线,且非数字开头
^[A-Za-z]w*$
验证只能输英文字母,汉子,数字,下划线,且非数字开头
^[A-Za-z\u4E00-\u9FA5_]\\w*|[\u4e00-\u9fa5]$]
手机验证
13d{9}|158d{8}|159d{8}
验证身份证号码 (15位或18位结尾是否为X)
^(\\d{15})|(\\d{17}([0-9]|(X|x)))$
电话验证
((d{3,4})|d{3,4}-|s)?d{7,14}
日期验证,如2007-05-01
^d{4}-d{2}-d{2}$
验证电话如0371-68888888 010-68888888
0d{2,3}-d{7,8}
日期格式正则表达式验证:如2007-05-22 2007/05/22
(((19)|(20))[0-9][0-9])[-,/](1[0-2]|0?[1-9])[-,/](3[0,1]|[1,2][0-9]|0?[1-9])
验证格式如:a189185-1968
[A-Za-z]{1}d{6}-d{4}
邮件(转义过了的):
@"\\b([a-zA-Z0-9%_.+\\-]+)@([a-zA-Z0-9.\\-]+?\\.[a-zA-Z]{2,6})\\b"
如nsstring *a = @"a@acom"
if([a isMatchedByRegex:@"\\b([a-zA-Z0-9%_.+\\-]+)@([a-zA-Z0-9.\\-]+?\\.[a-zA-Z]{2,6})\\b"])
{
nslog(@"match");
}