|
Objective-C版
- // 随机生成字符串(由大小写字母、数字组成)
- + (NSString *)random: (int)len {
-
- char ch[len];
- for (int index=0; index<len; index++) {
-
- int num = arc4random_uniform(75)+48;
- if (num>57 && num<65) { num = num%57+48; }
- else if (num>90 && num<97) { num = num%90+65; }
- ch[index] = num;
- }
-
- return [[NSString alloc] initWithBytes:ch length:len encoding:NSUTF8StringEncoding];
- }
- // 随机生成字符串(由大小写字母组成)
- + (NSString *)randomNoNumber: (int)len {
-
- char ch[len];
- for (int index=0; index<len; index++) {
-
- int num = arc4random_uniform(58)+65;
- if (num>90 && num<97) { num = num%90+65; }
- ch[index] = num;
- }
-
- return [[NSString alloc] initWithBytes:ch length:len encoding:NSUTF8StringEncoding];
- }
复制代码
Swift版
- extension String {
-
- /// 生成随机字符串
- ///
- /// - Parameters:
- /// - count: 生成字符串长度
- /// - isLetter: false=大小写字母和数字组成,true=大小写字母组成,默认为false
- /// - Returns: String
- static func random(_ count: Int, _ isLetter: Bool = false) -> String {
-
- var ch: [CChar] = Array(repeating: 0, count: count)
- for index in 0..<count {
-
- var num = isLetter ? arc4random_uniform(58)+65:arc4random_uniform(75)+48
- if num>57 && num<65 && isLetter==false { num = num%57+48 }
- else if num>90 && num<97 { num = num%90+65 }
-
- ch[index] = CChar(num)
- }
-
- return String(cString: ch)
- }
- }
复制代码
使用
- /// 大小写字母和数字组成
- let string1 = String.random(100)
- /// 大小写字母组成
- let string2 = String.random(100, true)
复制代码
|
|