判斷輸入的字符串是否為 純數字 還是 純字母


匯總:

  • NSScanner: NSScanner是一個類,用於在字符串中掃描指定的字符,尤其是把它們翻譯/轉換為數字和別的字符串。可以在創建NSScaner時指定它的string屬性,然后scanner會按照你的要求從頭到尾地掃描這個字符串的每個字符。
  • NSCharacterSet:主要用來判斷已知字符串是否包含制定字符集,而不可以用來保存字符串。

 

1.使用NSScanner來判斷

//判斷是否為整形: - (BOOL)isPureInt:(NSString*)string{ NSScanner* scanner = [NSScanner scannerWithString:string]; int val; return[scan scanInt:&val] && [scan isAtEnd]; } //判斷是否為浮點形: - (BOOL)isPureFloat:(NSString*)string{ NSScanner* scan = [NSScanner scannerWithString:string]; float val; return[scan scanFloat:&val] && [scan isAtEnd]; } if( ![self isPureInt:str1] || ![self isPureFloat:str1]) { alert.text = @"警告:含非法字符,請輸入純數字!"; return; }



 

2.使用NSCharacterSet

  • (NSCharacterSet *)controlCharacterSet; //控制符
  • (NSCharacterSet *)whitespaceCharacterSet; //空格
  • (NSCharacterSet *)whitespaceAndNewlineCharacterSet;//首位空格
  • (NSCharacterSet *)decimalDigitCharacterSet; //十進制數字
  • (NSCharacterSet *)letterCharacterSet; //文字
  • (NSCharacterSet *)lowercaseLetterCharacterSet; //小寫字母
  • (NSCharacterSet *)uppercaseLetterCharacterSet; //大寫字母
  • (NSCharacterSet *)nonBaseCharacterSet; //非基礎
  • (NSCharacterSet *)alphanumericCharacterSet; //字母數字
  • (NSCharacterSet *)decomposableCharacterSet; //可分解
  • (NSCharacterSet *)illegalCharacterSet; //非法
  • (NSCharacterSet *)punctuationCharacterSet; //標點
  • (NSCharacterSet *)capitalizedLetterCharacterSet; //大寫
  • (NSCharacterSet *)symbolCharacterSet; //符號
  • (NSCharacterSet *)newlineCharacterSet NS_AVAILABLE(10_5, 2_0);//換行符

 

//判斷是否是純字母 - (BOOL)isPureCharacters:(NSString *)string{ string = [string stringByTrimmingCharactersInSet:[NSCharacterSet letterCharacterSet]]; if(string.length > 0) { return NO; } return YES; } //判斷是否是純數字 - (BOOL)isPureNum:(NSString *)string{ string = [string stringByTrimmingCharactersInSet:[NSCharacterSet decimalDigitCharacterSet]]; if(string.length > 0) { return NO; } return YES; } //判斷是否包含連續的數組或字母,yes為包含 - (BOOL)rangeString:(NSString *)string { BOOL result = NO; for (int i = 0; i < string.length; i++) { if (string.length - i < 4 ) { break; } NSString *newStr = [string substringWithRange:NSMakeRange(i, 4)]; if ([self isPureCharacters:newStr] || [self isPureNum:newStr]) { NSLog(@"%@",newStr); result = YES; break; } } return result; }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM