Android 校验IP的正则表达式

iPv4的ip地址都是(1~255).(0~255).(0~255).(0~255)的格式
下面给出相对应的正则表达式:
“^(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])\.”
+”(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.”
+”(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.”
+”(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)$”
上面的一个不漏就是正确的验证ip的正则表达式,简单的讲解一下
\d表示0~9的任何一个数字
{2}表示正好出现两次
[0-4]表示0~4的任何一个数字
| 的意思是或者
( )上面的括号不能少,是为了提取匹配的字符串,表达式中有几个()就表示有几个相应的匹配字符串
1\d{2}的意思就是100~199之间的任意一个数字
2[0-4]\d的意思是200~249之间的任意一个数字
25[0-5]的意思是250~255之间的任意一个数字
[1-9]\d的意思是10~99之间的任意一个数字
[1-9])的意思是1~9之间的任意一个数字
\.的意思是.点要转义(特殊字符类似,@都要加\转义)

  public void check(View v){
            String string1= ed1.getText().toString().trim();
            String string2= ed2.getText().toString().trim();
            String string3=ed3.getText().toString().trim();
            String string4=ed4.getText().toString().trim();
            /*整合输入值*/
            String string = string1 + "." + string2 + "." + string3 + "."
                    + string4;
            /*正则表达式*/
            String ip = "^(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\."
                    +"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
                    +"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
                    +"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)$";//限定输入格式
            Pattern p=  Pattern.compile(ip);
            Matcher m=p.matcher(string);
            boolean b=m.matches();
            if(string1.equals("")||string2.equals("")||string3.equals("")||string4.equals("")){
                Toast.makeText(this, "IP地址不可为空!", Toast.LENGTH_LONG).show();
            }
            else{
            if(b==false){
                Toast.makeText(this, "IP格式输入错误", Toast.LENGTH_LONG).show();
            }else{
                Toast.makeText(this, "IP为:"+string, 0).show();
            }
    }
  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值