У меня есть TextField для IP-адреса. В настоящее время я проверка моего IP-адрес по нажатию кнопки, как это:iOS: Принудительно ввести пользователя для ввода действительного IP-адреса при вводе текста TextField
- (IBAction)addPrinter:(id)sender {
NSString* validIPRegEx = @"^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$";
NSRegularExpression *regex = [NSRegularExpression
regularExpressionWithPattern:validIPRegEx
options:0
error:nil];
NSUInteger numberOfMatches = [regex numberOfMatchesInString:_printerIPAddress.text options:0 range:NSMakeRange(0, [_printerIPAddress.text length])];
if (numberOfMatches!=1) {
UIAlertView *myAlertView = [[UIAlertView alloc] initWithTitle:@"Error"
message:@"Invalid IP Address"
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles: nil];
[myAlertView show];
}
}
Но, мое требование заключается в том, что я проверить мой IP-адрес на ходе, как пользователь вводит текст в TextField.
Например, когда пользователь запускает набрав в TextField он должен быть позволен ввести число от 0-255 перед любым из трех точек в качестве IP-адрес, т.е., если пользователь уже набрал 26, то текст не должен измените, если он набирает что-либо, кроме точки. Точно так же текст не должен меняться, если он набирает любой другой символ, кроме чисел и точек.
Я много искал об этом, но не нашел никакой помощи. Любая помощь в этом отношении будет оценена по достоинству.
Заранее благодарен!
Ну, попробуйте [ '^ (([0-9] | [1-9] [0-9] | 1 [0-9] {2} | 2 [0-4] [0-9] | 25 [0-5])) {0,3} ([0-9] [.] | [1-9] [0-9] | 1 [0-9] {2} | 2 [0-4] [0-9] | 25 [0-5])? $ '] (https://regex101.com/r/xQ2xZ2/1). –
Моя проблема связана не с регулярным выражением, а с тем, как я могу проверять частично типизированный IP-адрес каждый раз, когда пользователь вводит что-то в TextField. – Exception
Я знаю, вы попробовали мое регулярное выражение для проверки этого? Я должен упомянуть, что вы не можете использовать одно и то же регулярное выражение для проверки * live * и * final *. Это невозможно. –