Thứ Ba, 24 tháng 7, 2012

Kiểm tra địa chỉ Ip V4 hợp lệ

Mình đang làm một chức năng mà người dùng sẽ nhập vào địa chỉ Ip.
Đoạn code đơn giản để kiểm tra xem một chuỗi có phải là địa chỉ Ip v4 hợp lệ hay không:
  1. public static bool IsIpV4Address(string str)  
  2. {  
  3.     string[] arr = str.Split('.');  
  4.     if (arr.Length != 4)  
  5.         return false;  
  6.     foreach (string sub in arr)  
  7.     {  
  8.         try  
  9.         {  
  10.             int test = int.Parse(sub);  
  11.             if (test < 0 || test > 255)  
  12.                 return false;  
  13.   
  14.             //nếu sub có nhiều chữ số 0 ở trước, khi convert qua số sẽ bị mất các số 0 ở đằng trước  
  15.             if (test.ToString().Length != sub.Length)  
  16.             {  
  17.                 // chứng tỏ sub có chứa các số 0 thừa ở đằng trước -> không hợp lệ.  
  18.                 return false;  
  19.             }  
  20.         }  
  21.         catch  
  22.         {  
  23.             return false;  
  24.         }  
  25.     }  
  26.     // vượt qua đc hết đống thử thách này thì chắc chắn là địa chỉ Ip V4 rùi ^^!    
  27.     return true;  
  28. }   

Không có nhận xét nào :

Đăng nhận xét