Iphone 使用特殊字符验证文本字段
在我的应用程序中。我想用特殊字符验证textfield 前。 如果用户按下?从键盘输入的信息比用户无法输入的信息多?在Textfield中 请任何人建议,我怎么做 检查 使用 看看这是否有效:Iphone 使用特殊字符验证文本字段,iphone,objective-c,cocoa-touch,ios4,Iphone,Objective C,Cocoa Touch,Ios4,在我的应用程序中。我想用特殊字符验证textfield 前。 如果用户按下?从键盘输入的信息比用户无法输入的信息多?在Textfield中 请任何人建议,我怎么做 检查 使用 看看这是否有效: -(NSString *) formatIdentificationNumber:(NSString *)string { NSCharacterSet * invalidNumberSet = [NSCharacterSet characterSetWithCharact
-(NSString *) formatIdentificationNumber:(NSString *)string
{
NSCharacterSet * invalidNumberSet = [NSCharacterSet characterSetWithCharactersInString:@"\n_!@#$%^&*()[]{}'\".,<>:;|\\/?+=\t~` "];
NSString * result = @"";
NSScanner * scanner = [NSScanner scannerWithString:string];
NSString * scannerResult;
[scanner setCharactersToBeSkipped:nil];
while (![scanner isAtEnd])
{
if([scanner scanUpToCharactersFromSet:invalidNumberSet intoString:&scannerResult])
{
result = [result stringByAppendingString:scannerResult];
}
else
{
if(![scanner isAtEnd])
{
[scanner setScanLocation:[scanner scanLocation]+1];
}
}
}
return result;
}
-(NSString*)格式标识号:(NSString*)字符串
{
NSCharacterSet*invalidNumberSet=[NSCharacterSet characterSetWithCharactersInString:@“\n\u!@$%^&*()[]{}\\”,:;\ 124;\\/?+=\ t~`];
NSString*结果=@;
NSScanner*scanner=[NSScanner scannerWithString:string];
NSString*扫描结果;
[扫描仪设置字符stobeskiped:nil];
而(![scanner isattend])
{
if([scanner scanupCharacters fromset:invalidNumberSet intoString:&scannerResult])
{
结果=[result stringByAppendingString:scannerResult];
}
其他的
{
如果(![scanner isattend])
{
[扫描仪设置扫描位置:[扫描仪扫描位置]+1];
}
}
}
返回结果;
}
试试下面的方法,它会对您有所帮助。它只接受信件
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
//For avoiding user to enter non digital number..
if([[string stringByTrimmingCharactersInSet:[[NSCharacterSet letterCharacterSet] invertedSet]] isEqualToString:@""])
{
return NO;
}
else
{
return YES;
}
}
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
//For avoiding user to enter non digital number..
if([[string stringByTrimmingCharactersInSet:[[NSCharacterSet letterCharacterSet] invertedSet]] isEqualToString:@""])
{
return NO;
}
else
{
return YES;
}
}