【问题标题】:Validate textfield with special character使用特殊字符验证文本字段
【发布时间】:2012-04-18 07:40:36
【问题描述】:

在我的应用程序中。我想用特殊字符验证文本字段,

例如。 如果用户按?从键盘比用户无法输入?在文本字段中,

请任何人建议,我该怎么做?

【问题讨论】:

    标签: iphone objective-c cocoa-touch ios4


    【解决方案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;
            }
        }
    

    【讨论】:

      【解决方案2】:

      查看this

      使用

      - (BOOL) textField:(UITextField*)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString*)textEntered
      

      【讨论】:

        【解决方案3】:

        看看这是否有效:

            -(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;
          }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-05-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-03-09
          • 1970-01-01
          相关资源
          最近更新 更多