sql如何判斷ip位址是否在某個ip段中
環境sqlserver 2008 r2
1.我的表結構
ii_id 標識
ii_startip 開始ip
ii_endip 結束ip
si_id 學校id
ii_state ip狀態是否檢查過 這是我在程式裡使用的
表名ipinfo
2.建立獲取ip函式
create function getip(@ip varchar(20))
returns varchar(20)
asbegin
declare @ipre varchar(20)
set @ipre=''
if isnumeric(parsename(@ip,4))=1
set @ipre=right('000'+parsename(@ip,4),3)+'.'
if isnumeric(parsename(@ip,3))=1
set @ipre=@ipre+right('000'+parsename(@ip,3),3)+'.'
else
set @ipre=@ipre+'%'+'.'
if isnumeric(parsename(@ip,2))=1
set @ipre=@ipre+right('000'+parsename(@ip,2),3)+'.'
else
set @ipre=@ipre+'%'+'.'
if isnumeric(parsename(@ip,1))=1
set @ipre=@ipre+right('000'+parsename(@ip,1),3)
else
set @ipre=@ipre+'%'
return @ipre
end3.查詢測試
select top 1000 [ii_id]
,[ii_startip]
,[ii_endip]
,[si_id]
,[ii_state]
from [ipinfo]
where getip('218.7.49.25') between getip(ii_startip) and getip(ii_endip)
asp.net如何判斷ip位址是否在某個ip段中
我的開發語言是asp.net(c#),下面我介紹乙個我在asp.net中如何判斷ip位址是否在某個ip段中
環境.net4.0 工具vs2010
1.ip的計算方法
///
/// 分割ip
///
/// ip位址
///
private long getipnum(string ipaddress)
);long a = int.parse(ip[0]);
long b = int.parse(ip[1]);
long c = int.parse(ip[2]);
long d = int.parse(ip[3]);
return a * 256 * 256 * 256 + b * 256 * 256 + c * 256 + d;
}///
/// 判斷客戶端的ip是否在某個ip段中
///
/// 客戶端的ip
/// 開始ip
/// 結束ip
///
private bool isinner(long clientip, long begin, long end)
2.測試
protected void page_load(object sender, eventargs e)
else
}
判斷ip位址是否存在某個網段中
public class ipchangeutils count inetmask count return inetmask 功能 根據ip和位數返回該ip網段的所有ip 格式 parseipmaskrange 192.192.192.1 23 public static listparseipm...
判斷IP位址是否合法
1 字串切割判斷 def legalip ip ip ip.split m len ip if m 4or not ip 0 isdigit orint ip 0 0or int ip 0 255 print illegal else for i in range 1 m if ip i isdig...
判斷IP位址是否合理
方法1 正規表示式判定法 下面給出相對應的驗證ip的正規表示式 d表示0 9的任何乙個數字 表示正好出現兩次 0 4 表示0 4的任何乙個數字 的意思是或者 1 d的意思就是100 199之間的任意乙個數字 2 0 4 d的意思是200 249之間的任意乙個數字 25 0 5 的意思是250 255...