仅允许textField中的字母表 [英] Allowing only alphabets in textField

查看:199
本文介绍了仅允许textField中的字母表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想让UITextField只接受字符并在输入数字或特殊字符时显示错误。但是当我这样做时,当我输入字母时也会显示错误。不能理解我哪里出错?

I want to make a UITextField to accept only characters and display error when numbers or special characters are entered.But when Im doing so ,when I enter alphabets also error is displayed.Could not understand where I going wrong?

NSString *FNameReg=@"[A-Za-z]";
NSPredicate *FNametest=[NSPredicate predicateWithFormat:@"SELF MATCHES %@",FNameReg];
 if(![FNametest evaluateWithObject:txtfirstname.text])
    {
        lblvalidateFName.hidden=NO;
        [testScroll setContentOffset:CGPointMake( 0 , 74)];
        return;
    }

现在当我给出字母表时也会显示错误然后显示错误。是吗所以?

BUt now when I give alphabets also then also error is displayed.Y is it so ?

推荐答案

创建一个验证方法,如下所示:

Create one method for validation like this:

-(BOOL) validateAlphabets: (NSString *)alpha
{
NSString *abnRegex = @"[A-Za-z]+"; // check for one or more occurrence of string you can also use * instead + for ignoring null value 
NSPredicate *abnTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", abnRegex];
BOOL isValid = [abnTest evaluateWithObject:alpha];
return isValid;
}

现在检查你想要的验证:

Now check for the validation where you want like this:

bool checkAlphabets = [self validateAlphabets:txtfirstname.text];

if(!checkAlphabets)
{
   NSLog(@"Not Matches..");
}
else
{
  NSLog(@"Matches..");
}

这篇关于仅允许textField中的字母表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆