我想创建一个文本字段,允许我只输入x.x.x.x格式的IP地址 其中x不能超过255。 我找到了一些编码,只允许我达到x.x,你能帮我解决这个问题吗? 任何建议将不胜感激。
答案 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();
}
}