iOS开发: 如何生成一个4位或6位的验证码(随机数)

371 查看

开发中可能遇到一种需求:在做注册功能的时候,服务端偷工减料,验证码让我们客户端自己生成,然后将生成的验证码发送给用户的手机,通过比对用户输入的验证码是否和客户端生成的一样来验证验证码是否正确.这个时候我们就需要来生成一个验证码了.

在iOS中生成验证码(随机数)是非常简单的,不管是4位还是6位

// 生成 "0000-9999" 4位验证码
    int num = (arc4random() % 10000);
    randomNumber = [NSString stringWithFormat:@"%.4d", num];
    NSLog(@"%@", randomNumber);


// 生成 "000000-999999" 6位验证码
    int num = (arc4random() % 1000000);
    randomNumber = [NSString stringWithFormat:@"%.6d", num];
    NSLog(@"%@", randomNumber);    

通过以上方法可以生成固定位数的验证码,你大可不必担心生成 0000, 9999 这种类型的验证码,因为 arc4random() 函数能生成这种类型的随机的概率是非常非常小的,我测试了几百次也没遇到过