Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中检查EditText中的符号?_Android_Android Edittext - Fatal编程技术网

如何在android中检查EditText中的符号?

如何在android中检查EditText中的符号?,android,android-edittext,Android,Android Edittext,我在android上有一个EditText,应该输入IP地址。单击按钮后,我想检查从EditText检索到的文本是否: 没有任何空间 我没有信 不空 只包含数字 并且只包含句点“ 我有这个if-else条件来检查用户是否被允许进入下一个活动,但它仍然有一些bug。我不知道如何只允许周期 if(((ip.length() != 0) || ip.contains(" ") == false || ip.matches("[a-z]+") == false

我在android上有一个EditText,应该输入IP地址。单击按钮后,我想检查从EditText检索到的文本是否:

  • 没有任何空间
  • 我没有信
  • 不空

  • 只包含数字

  • 并且只包含句点
我有这个if-else条件来检查用户是否被允许进入下一个活动,但它仍然有一些bug。我不知道如何只允许周期

                    if(((ip.length() != 0) || ip.contains(" ") == false || ip.matches("[a-z]+") == false) && (ip.matches("[0-9]+") && ip.contains(".")))
                    {
                        next = false;
                    }
                    else
                    {
                        next = true;
                    }

可以使用此正则表达式检查输入

"^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$"
编辑:

不要使用正则表达式,因为当IPv6到来时,事情会中断,请改用它


正则表达式非常简单

我希望它能帮助你

谢谢。

这将有效:

<EditText
    android:inputType="number"
    android:digits="0123456789."
/>


只允许使用
数字和。

您可以通过使用以下工具实现这一点:

<EditText
    android:inputType="number"
    android:digits="0123456789."
/>
import android.util.Patterns
...
boolean isIPvalid (String input) {
    return Patterns.IP_ADDRESS.matcher(input).matches();
}