EditText中的验证允许IP或Web Url主机

Moh*_*ikh 4 validation android android-edittext

我需要对我的EditText进行验证,以便我可以输入有效的

IP地址格式(?.?.?.?),例如132.0.25.225

要么

web url format(www.?.?),例如www.example.com

逻辑是,如果用户首先键入任何数值,则验证(IP)将执行操作

else用户必须在任何Web String之前写"www"

注意:它必须执行EditText的onKeyListener(),我的意思是当用户给出输入时

简而言之 - 我不会检查用户何时完成输入并按下OK按钮

任何想法都赞赏,谢谢.

lac*_*cas 12

IP

private static final String PATTERN = 
        "^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." +
        "([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." +
        "([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." +
        "([01]?\\d\\d?|2[0-4]\\d|25[0-5])$";

public static boolean validate(final String ip){          
      Pattern pattern = Pattern.compile(PATTERN);
      Matcher matcher = pattern.matcher(ip);
      return matcher.matches();             
}
Run Code Online (Sandbox Code Playgroud)

网址

try {
    new java.net.URI(url);
} catch(MalformedURLException e) {
    // url badly formed
}
Run Code Online (Sandbox Code Playgroud)