Вы можете использовать регулярные выражения, например:
(([0-1]?[0-9]{1,2}\.)|(2[0-4][0-9]\.)|(25[0-5]\.)){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))
Это проверяет, что значения находятся в пределах диапазона.
Android имеет поддержку регулярных выражений.См. java.util.regex.Pattern .
class ValidateIPV4
{
static private final String IPV4_REGEX = "(([0-1]?[0-9]{1,2}\\.)|(2[0-4][0-9]\\.)|(25[0-5]\\.)){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))";
static private Pattern IPV4_PATTERN = Pattern.compile(IPV4_REGEX);
public static boolean isValidIPV4(final String s)
{
return IPV4_PATTERN.matcher(s).matches();
}
}
Чтобы избежать перекомпиляции шаблона снова и снова, лучше всего выполнить вызов Pattern.compile()
, чтобы он выполнялся только один раз.