Android EditText输入网络IP地址格式校验

1.只允许输入数字和小数点:

      直接设置inputType属性即可:

 <EditText
            android:id="@+id/tv_net_gway"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:gravity="center_vertical"
            android:textColor="@color/gray_99"
            android:maxLines="1"
            android:singleLine="true"
            android:text="192.168.0.123"
            android:inputType="number"
            android:digits="0123456789."
            android:textSize="@dimen/size_sp_16"
            />
android:inputType="number"只支持纯数字,不支持小数点
android:inputType="number|numberDecimal" 支持数字和一个小数点【账单金额类】
android:inputType="number"
android:digits="0123456789."

"number"与“digits"结合使用即可支持任意个小数点

2.校验IP地址输入的合法性:

import java.util.regex.Pattern;

public class IPAddressValidator {
    private static final String IP_ADDRESS_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 isValidIPAddress(String ipAddress) {
        Pattern pattern = Pattern.compile(IP_ADDRESS_PATTERN);
        return pattern.matcher(ipAddress).matches();
    }
}

String ipAddress = "192.168.0.1";
boolean isValid = IPAddressValidator.isValidIPAddress(ipAddress);
if (isValid) {
    // IP地址有效
} else {
    // IP地址无效
}

猜你喜欢

转载自blog.csdn.net/HuanWen_Cheng/article/details/132697126
今日推荐