c# 檢測一串字串是否為子網掩碼
阿新 • • 發佈:2018-11-11
static bool ifMask(string yanma) { //11111 0000 是否分割 標誌位 bool zero = false; //分割成四段 string[] ip_4 = yanma.Split('.'); if (ip_4.Length != 4) return false; for (int i = 0; i < 4; i++) { //如果是255 if (ip_4[i].Equals("255")) { if (zero) return false; } //其它網段 前面全為1 後面全為0 else if (ip_4[i].Equals("128") || ip_4[i].Equals("192") || ip_4[i].Equals("224") || ip_4[i].Equals("240") || ip_4[i].Equals("248") || ip_4[i].Equals("252") || ip_4[i].Equals("254")) { //標誌位為1 後面應該全為0 退出 掩碼格式錯誤 if (zero) return false; zero = true; } //全是0 else if (ip_4[i].Equals("0") || ip_4[i].Equals("00") || ip_4[i].Equals("000")) { //還沒有分割 則標誌位為1 分割 1 0 if (!zero) zero = true; } //其它數字或者字元 else return false; } //全部檢查完畢 無錯誤 return true; }