3

私は xCode に TextField を持っていますが、誰かが私にこのテキスト文字列を与える特定の種類の文字だけを許可するように頼みます:

^([A-ZÑÑÁÉÍÓÚÀÈÌÒÙÄËÏÖÜ ])*$

またはこれ:

^([0-9])*$

textField shouldChangeCharactersInRange という名前の UITextFieldDelegate を使用するメソッドを知っています。これがこのメソッドを実装する方法です。

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    NSString *allowedCharacters  = @"abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMÑNOPQRSTUVWXYZ0123456789.@-_ ";
    NSCharacterSet *characterSet    = [NSCharacterSet characterSetWithCharactersInString:allowedCharacters];


    if ([string stringByTrimmingCharactersInSet:characterSet].length == 0)textField.text = [textField.text stringByReplacingCharactersInRange:range withString:string];
    return NO;

    return YES;


}

ご覧のとおり、私のプログラミングでは、変数allowedCharactersにすべての有効な文字が格納されていますが、形式が異なります (許可されているすべての文字を記述する必要があります)。

似たようなものをプログラムしたいのですが、パートナーのテキスト形式 ^([0-9])*$ (範囲を使用したテキスト) を使用するにはどうすればよいですか?

前もって感謝します

4

1 に答える 1