コード例 #1
0
        /// <summary>
        /// 判断输入的字符串是否是合法的IPV6 地址
        /// </summary>
        /// <param name="input">输入</param>
        /// <returns></returns>
        public static bool IsIPV6(string input)
        {
            string pattern = "";
            string temp    = input;

            string[] strs = temp.Split(':');
            if (strs.Length > 8)
            {
                return(false);
            }
            int count = MetarnetRegex.GetStringCount(input, "::");

            if (count > 1)
            {
                return(false);
            }
            else if (count == 0)
            {
                pattern = @"^([\da-f]{1,4}:){7}[\da-f]{1,4}$";

                Regex regex = new Regex(pattern);
                return(regex.IsMatch(input));
            }
            else
            {
                pattern = @"^([\da-f]{1,4}:){0,5}::([\da-f]{1,4}:){0,5}[\da-f]{1,4}$";
                Regex regex1 = new Regex(pattern);
                return(regex1.IsMatch(input));
            }
        }
コード例 #2
0
 /// <summary>
 /// 单例
 /// </summary>
 /// <returns></returns>
 public static MetarnetRegex GetInstance()
 {
     if (MetarnetRegex.instance == null)
     {
         MetarnetRegex.instance = new MetarnetRegex();
     }
     return(MetarnetRegex.instance);
 }