判断IPv4地址

        /// <summary>   
        /// 判断一个字符串是否一个全称点分(点式)十进制表示法的网络IPv4地址
        /// </summary>   
        /// <remarks>   
        /// 返回代码:
        /// 0   正确的IPv4地址
        /// 1   第1个十进制无法识别
        /// 2   第2个十进制无法识别
        /// 3   第3个十进制无法识别
        /// 4   第4个十进制无法识别
        /// 5   有出现大于255或者小于0的十进制
        /// 6   没有用3个“.(点)”分隔4组十进制,格式错误
        /// </remarks>   
        public int isIPv4Address(string address)
        {
            //点分十进制,全称点分(点式)十进制表示法(英:Dotted decimal notation)
            //是IPv4的IP地址标识方法,每一组数字都是十进制,组与组之间用“.(点)”分隔,因此称为“点分十进制”
            //例如IP地址123.123.123.123
            string[] decimalNotation = address.Split('.');

            //如果不是“.(点)”分隔出4组字符串,则返回错误代码5
            if (decimalNotation.Length != 4)
                return 6;
            else
            {
                //如果每组字符串里面有非法数字或者无法识别的数字,则根据第几个非法,返回错误代码1、2、3、4
                //如果包含大于255或者小于0的非法数字,则返回错误代码5
                int i = 1;
                foreach(string s in decimalNotation)
                {
                    int number;
                    bool success = int.TryParse(s, out number);
                    if (success == true)
                    {
                        // 转换成功,可以使用 number 变量
                        if (number > 255 || number < 0)
                            return 5;
                        i++;
                    }
                    else
                    {
                        // 转换失败,处理错误情况
                        return i;
                    }
                }
                return 0;
            }
        }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值