/// <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)); } }
/// <summary> /// 单例 /// </summary> /// <returns></returns> public static MetarnetRegex GetInstance() { if (MetarnetRegex.instance == null) { MetarnetRegex.instance = new MetarnetRegex(); } return(MetarnetRegex.instance); }