IOS正则表达式---by talent.L

2017-02-19  本文已影响33人  天才iOS程序员

常用正则表示

1.QQ号

//数字组成 10000开始

NSString * str =@"[1-9][0-9]{4,}";

2.网址

NSString * str =@"((http[s]{0,1}|ftp)://[a-zA-Z0-9\\.\\-]+\\.([a-zA-Z]{2,4})(:\\d+)?(/[a-zA-Z0-9\\.\\-~!@#$%^&*+?:_/=<>]*)?)|(www.[a-zA-Z0-9\\.\\-]+\\.([a-zA-Z]{2,4})(:\\d+)?(/[a-zA-Z0-9\\.\\-~!@#$%^&*+?:_/=<>]*)?)";

3身份证

NSString *str = @"/(^\\d{15}$)|(^\\d{18}$)|(^\\d{17}(\\d|X|x)$)/";

4手机号

NSString *str1 = @"^((13[0-9])|(15[^4,\\D])|(18[0-9])|(14[57])|(17[013678]))\\d{8}$";

5电子邮箱

NSString *str1 = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";

if (self.yhjtext.text.length >0) {

//16或19位银行卡号

NSString * str =@"^([0-9]{16}|[0-9]{19})$";

//谓词

NSPredicate * pre =[NSPredicate predicateWithFormat:@"self matches %@",str];

BOOL is =[pre evaluateWithObject: self.yhjtext.text];

if (is) {

UIAlertController * alert =[UIAlertController alertControllerWithTitle:@"银行卡号标明" message:@"正确" preferredStyle:UIAlertControllerStyleAlert];

UIAlertAction * ac1 =[UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {

}];

UIAlertAction * ac2 =[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {

}];

[alert addAction:ac1];

[alert addAction:ac2];

[self presentViewController:alert animated:NO completion:^{

}];

}

else{

UIAlertController * alert =[UIAlertController alertControllerWithTitle:@"银行卡号码标明" message:@"不正确" preferredStyle:UIAlertControllerStyleAlert];

UIAlertAction * ac1 =[UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {

}];

UIAlertAction * ac2 =[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {

}];

[alert addAction:ac1];

[alert addAction:ac2];

[self presentViewController:alert animated:NO completion:^{

}];

}

}

上一篇下一篇

猜你喜欢

热点阅读