首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Android上验证IP地址?

如何在Android上验证IP地址?
EN

Stack Overflow用户
提问于 2010-09-13 13:41:12
回答 4查看 22.6K关注 0票数 32

我在Android (作为客户端)和PC (作为服务器)之间使用简单的socket通信。我让用户在EditText字段中输入IP地址,然后我想验证IP地址。如何在Android上验证IP地址?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-09-13 16:14:26

接口级别8+:

您可以使用Patterns.IP_ADDRESS全局正则表达式。

API级别1-7:

如果您的目标设备的android版本低于2.2,则可以直接在项目中包含此正则表达式:

代码语言:javascript
复制
private static final Pattern IP_ADDRESS
    = Pattern.compile(
        "((25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9])\\.(25[0-5]|2[0-4]"
        + "[0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9]|0)\\.(25[0-5]|2[0-4][0-9]|[0-1]"
        + "[0-9]{2}|[1-9][0-9]|[1-9]|0)\\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}"
        + "|[1-9][0-9]|[0-9]))");
Matcher matcher = IP_ADDRESS.matcher("127.0.0.1");
if (matcher.matches()) {
    // ip is correct
}
票数 42
EN

Stack Overflow用户

发布于 2015-12-07 17:29:24

代码语言:javascript
复制
Patterns.IP_ADDRESS.matcher(url).matches();
票数 47
EN

Stack Overflow用户

发布于 2012-07-18 23:45:18

要在输入IP时进行检查,您可能需要使用以下命令:

代码语言:javascript
复制
private static final Pattern PARTIAl_IP_ADDRESS =
          Pattern.compile("^((25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[0-9])\\.){0,3}"+
                           "((25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[0-9])){0,1}$"); 

ipEditText.addTextChangedListener(new TextWatcher() {                       
    @Override public void onTextChanged(CharSequence s, int start, int before, int count) {}            
    @Override public void beforeTextChanged(CharSequence s,int start,int count,int after) {}            

    private String mPreviousText = "";          
    @Override
    public void afterTextChanged(Editable s) {          
        if(PARTIAl_IP_ADDRESS.matcher(s).matches()) {
            mPreviousText = s.toString();
        } else {
            s.replace(0, s.length(), mPreviousText);
        }
    }
});
票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3698034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档