textfield只能输入数字,(登录、注册电话号码的格式判断)等正则表达

1 篇文章 0 订阅
1 篇文章 0 订阅
1. 自定义一个类ValidateUtil  ----->>>ValidateUtil .h 文件
/**
 限制手机号输入格式
 */

+ (BOOL)isMatchPhoneNumberFormat:(UITextField *)textField range:(NSRange)range string:(NSString *)string;

/**
  验证邮箱格式
 */
+ ( BOOL )validateEmail:( NSString *)email;
/**
  验证身份证号格式
 */
+ ( BOOL )validateIdentityCard: ( NSString *)identityCard;
/**
  验证银行卡格式

 */

+ (BOOL)validateBankCardNumber:(NSString *)cardNumber;



2.----->>>ValidateUtil .m 文件

+(BOOL)isMatchPhoneNumberFormat:(UITextField *)textField range:(NSRange)range string:(NSString *)string{
    if ([string isEqualToString:@"\n"]||[string isEqualToString:@""]) {//按下return
        return YES;
    }
    if(![self validateByRegex:@"[0-9]+" withObject:string]){
        return NO;
    }
    if (textField.text.length >=11) {
        return NO;
    }
    return YES;

}

//邮箱校验

+ (BOOL)validateEmail:(NSString *)email{    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:email];

}


//身份证校验

+ (BOOL)validateIdentityCard: (NSString *)identityCard{    BOOL flag;    if (identityCard.length <= 0) {        flag = NO;        return flag;    }    NSString *regex2 = @"^(\\d{14}|\\d{17})(\\d|[xX])$";    NSPredicate *identityCardPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex2];    return [identityCardPredicate evaluateWithObject:identityCard];}


//银行卡校验

+(BOOL)validateBankCardNumber:(NSString *)cardNumber{    if(![self validateByRegex:@"^[0-9]*$" withObject:cardNumber]){        return NO;    }    return YES;}


3.  在使用的类里 textfield代理方法

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{

    if (textField == phoneField) {

        return [ValidateUtil isMatchPhoneNumberFormat:textField range:range string:string];

    }

    return YES;

}

4.判断手机号格式 引入头文件----->>ValidateUtil .h 文件

if (![ValidateUtil validateMobile:phoneNumber]) {
NSLog(@"手机号格式错误");
     return;
 }

注释:银行卡,身份证,邮箱校验,和手机号校验方法相似,在对应的地方调用对应的类方法即可校验,屡试屡爽。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值