输入字段允许ip

时间:2013-11-29 13:51:44

标签: android

我想创建一个文本字段,允许我只输入x.x.x.x格式的IP地址 其中x不能超过255。 我找到了一些编码,只允许我达到x.x,你能帮我解决这个问题吗? 任何建议将不胜感激。

4 个答案:

答案 0 :(得分:1)

你可以使用普通快递。例如,对于IP地址:

 String ipAdress = "(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)";

或者你可以使用4个不同的文本视图,最多255个,然后再合并。

答案 1 :(得分:1)

使用模式匹配器

public final static boolean isValidIp(CharSequence target)
{
    if (target == null) return false;
    else return android.util.Patterns.IP_ADDRESS.matcher(target).matches();
}

答案 2 :(得分:1)

您可以使用正则表达式进行IP地址验证。

((2 | [0-1] [0-9] [0-9])?[]){3}((2 |?[0-1] [0-9] [0 -9]))

您可以参考此链接。 http://gskinner.com/RegExr/

答案 3 :(得分:0)

参考此代码

 public class IPAddressFormatValidator{
    private Pattern pattern;
    private Matcher matcher;
    private static final String IPADDRESS_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 IPAddressFormatValidator(){
      pattern = Pattern.compile(IPADDRESS_PATTERN);
    }
    public boolean validate(final String ipAddress){         
      matcher = pattern.matcher(ipAddress);
      return matcher.matches();            
    }
    }