判断输入的字符串是否为 纯数字 还是 纯字母

汇总:

  • 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;
}
时间: 2024-12-26 13:06:14

判断输入的字符串是否为 纯数字 还是 纯字母的相关文章

iOS判断输入的字符串是否是纯数字

主要用于判断输入到TextField的内容是不是数字,比如需要输入电话号码的时候. 网上查看了一些资料,一般都是通过协议. 以下内容来自:http://www.2cto.com/kf/201404/291718.html 今天项目中有个文本框需要只可以输入数字的需求,首先在.xib中将UITextField的Keyboard设置为Number Pad,但是使用时键盘会切回别的键盘无法对内容进行校验.通过神奇的百度我知道了通过以下方法可以解决这样的问题: 首先让.xib的viewControlle

swift 判断输入的字符串是否为数字

// 判断输入的字符串是否为数字,不含其它字符 func isPurnInt(string: String) -> Bool { let scan: Scanner = Scanner(string: string) var val:Int = 0 return scan.scanInt(&val) && scan.isAtEnd }

10.16输入一个字符串,内有数字和非数字字符,如: a123x456 17960? 302tab5876 将其中连续的数字作为一个整数,依次存放到一数组num中。例如123放在num[0]中,456放在num[1]中……统计共有多少个整数,并输出这些数。

10.16输入一个字符串,内有数字和非数字字符,如: a123x456 17960? 302tab5876 将其中连续的数字作为一个整数,依次存放到一数组num中.例如123放在num[0]中,456放在num[1]中--统计共有多少个整数,并输出这些数. #include <stdio.h> int main(){ void search(char * parr, int * pnum); char arr[100],* parr; int num[30],* pnum; parr=arr;

正则判断输入的字符(英文、数字、空格、其他)的个数

1 /** 2 * 3 * 类 描 述: 正则判断输入的字符(英文.数字.空格.其他)的个数 4 * 作 者: 赵 鹏 5 */ 6 public class RegularJudgeCharacter { 7 8 public static void main(String[] args) { 9 10 String arg = "safd415 ^&*^*^$# "; 11 12 //将string字符串转义为char数组 13 char[] charArray = arg

判断输入的字符串是否是回文数

<?phpfunction yuanyincount($str){ $str_len=strlen($str); $a_count=0; $e_count=0; $i_count=0; $o_count=0; $u_count=0; $other_count=0; //五种原因字母的数组,没写输出 $a_arr=array(); $e_arr=array(); $i_arr=array(); $o_arr=array(); $u_arr=array(); $other_arr=array();

华为OJ测试题——判断输入的字符串是不是一个有效的IP地址(附世上最全测试数据)

题目标题: 判断输入的字符串是不是一个有效的IP地址 详细描述: 请实现如下接口 boolisIPAddressValid(constchar* pszIPAddr) 输入:pszIPAddr 字符串 输出:true 有效的IP地址,false,无效的IP地址 约束 输入IP为XXX.XXX.XXX.XXX格式 字符串两端含有空格认为是合法IP 字符串中间含有空格认为是不合法IP 类似于 01.1.1.1, 1.02.3.4  IP子段以0开头为不合法IP 子段为单个0 认为是合法IP,0.0.

判断输入的字符串是不是可以由子串多次重复构成

//判断输入的字符串是不是可以由子串多次重复构成 #include<iostream> #include<string> using namespace std; class Solution { public: bool repeated(string s) { int n = s.size(); string temp1 = ""; string temp2 = ""; for (int i = 2; i <= n; ++i) {

判断输入中字符串长度的代码

//判断输入文本中字符串的长度 if ([self convertToInt:chooseRollTextField.text] > 20) { [self showToast:@"输入的角色名不能超过20个汉字或40个字符哦!"]; return; } - (int)convertToInt:(NSString*)strtemp { int strlength = 0; char* p = (char*)[strtemp cStringUsingEncoding:NSUnico

java初探秘之判断输入的一串字符是否全为小写字母

import java.io.IOException; import java.util.*; public class Two { public static void main(String[] args)throws IOException{ Scanner sc=new Scanner(System.in); System.out.println("请输入一个字符串"); String str=sc.nextLine(); boolean a=true; for(int i=0