1

テキストフィールドに特定の文字が含まれているかどうかを確認する条件ステートメントを実行しています。含まれている場合は、UIAlertView が表示されます。現時点では、テキスト フィールドに文字が含まれている場合にアラートが表示されます。! 、$など

if ([self.withdrawTextField.text rangeOfCharacterFromSet:[NSCharacterSet letterCharacterSet]].location != NSNotFound) {
        UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"Ooops" message:@"Please only use numbers and the period (.)." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
        [alert show];

}
4

2 に答える 2

2

これを試して:

NSMutableCharacterSet *mcs1 = [[NSCharacterSet letterCharacterSet] mutableCopy];
 [mcs1 addCharactersInString:@"?!.$"];

if ([self.withdrawTextField.text rangeOfCharacterFromSet:mcs1].location != NSNotFound) {
        UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"Ooops" message:@"Please only use numbers and the period (.)." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
        [alert show];

}
于 2013-11-22T11:31:19.837 に答える
0

文字列に数字とドットのみが必要なため、以下のコードを試すことができます。それはあなたを助けるかもしれません。

NSCharacterSet *myCharSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789."];
for (int i = 0; i < [[self.withdrawTextField.text length]; i++) 
{
    unichar c = [string characterAtIndex:i];

    if (![myCharSet characterIsMember:c]) 
       {
        UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"Ooops" message:@"Please only use numbers and the period (.)." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
        [alert show];
        return;
       }
}
于 2013-11-22T10:58:12.217 に答える