你想問的是ipv4和ipv6吧?
為五寨等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及五寨網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都做網(wǎng)站、網(wǎng)站建設(shè)、五寨網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
ipv4地址中間是用點(diǎn)(.)隔開,比如192.168.0.1
ipv6地址中間使用冒號(:)隔開,比如80:0:0:0:0:0:0:1
用腳本判斷就很簡單了,有多種方法,
var ip;
if(ip.indexOf(".")0){
//ipv4地址
}else{
//ipv6地址
}
JavaScript 獲取的 IP 有個優(yōu)點(diǎn)就是它獲取的是本機(jī)設(shè)置的 IP,如果計算機(jī)通過局域網(wǎng)上網(wǎng),那么它獲得的就是計算機(jī)的局域網(wǎng) IP。通過兩種獲取 IP 的方法,就可以確定某一臺計算機(jī)。
代碼:
html
head
meta http-equiv="Content-Type" content="text/html; charset=gb2312"
titleJavaScript獲取客戶端IP/title
/head
body
script type="text/javascript" language="javascript"
!--
function GetLocalIPAddress()
{
var obj = null;
var rslt = "";
try
{
obj = new ActiveXObject("rcbdyctl.Setting");
rslt = obj.GetIPAddress;
obj = null;
}
catch(e)
{
//異常發(fā)生
}
return rslt;
}
document.write("你的IP是:" + GetLocalIPAddress());
//--
/script
/body
/html
在使用中可能會出現(xiàn)類似下圖的警告,點(diǎn)擊“是”,就可以運(yùn)行了,也可以在【Internet 選項】中【安全】-【ActiveX 控件和插件】-【對沒有標(biāo)記為安全的 ActiveX 控件進(jìn)行初始化和腳本運(yùn)行】設(shè)置為【啟用】,就不會彈出對話框了。有時候測試時因代碼出錯既不彈出對話框,也不顯示 IP,更正代碼后也是一樣的情況,這時你需要重新打開 IE 進(jìn)行測試,在實際使用中,不會出現(xiàn)類似情況。
JavaScript 獲取的 IP 有個優(yōu)點(diǎn)就是它獲取的是本機(jī)設(shè)置的 IP,如果計算機(jī)通過局域網(wǎng)上網(wǎng),那么它獲得的就是計算機(jī)的局域網(wǎng) IP,而不像 ASP 中 Request 獲取的是計算機(jī)連接到互聯(lián)網(wǎng)的 IP。通過兩種獲取 IP 的方法,就可以確定某一臺計算機(jī)。 代碼: JavaScript獲取客戶端IP 在使用中可能會出現(xiàn)類似下圖的警告,點(diǎn)擊“是”,就可以運(yùn)行了,也可以在【Internet 選項】中【安全】-【ActiveX 控件和插件】-【對沒有標(biāo)記為安全的 ActiveX 控件進(jìn)行初始化和腳本運(yùn)行】設(shè)置為【啟用】,就不會彈出對話框了。有時候測試時因代碼出錯既不彈出對話框,也不顯示 IP,更正代碼后也是一樣的情況,這時你需要重新打開 IE 進(jìn)行測試,在實際使用中,不會出現(xiàn)類似情況。
可以用getAttribute()方法獲取。
注:總結(jié)了一些getAttribute(),setAttribute()在不同瀏覽器下兼容性以及如何解決這些問題
body里面有這些內(nèi)容:
div id="idHeader" class="class-header" title="kingwell" status="1"/div
label id="forUserName" for="userName" title="kingwell" status="1"/label
下面是script的測試:
var el = document.getElementById("idHeader");
alert(el.getAttribute("id"));
alert(el.id);
IE Firfox-idHeader
alert(el.getAttribute("class"));
//IE6,IE7 - null IE8,IE9,Firefox -class-header
alert(el.class);
//IE6,IE7,IE8-報錯 IE9,Firefox-undefined
alert(el.getAttribute("className"));
//IE6,IE7-class-header ; IE8,IE9,Firefox - undefined
alert(el.className);
//All - class-header
var elfor = document.getElementById("forUserName");
alert(elfor.getAttribute("for"));
//IE6,IE7-undefined IE8,9,Firefox-forUseName
alert(elfor.for )
//IE6,IE7報錯,其它為undefined
alert(elfor.title)
//全部輸出kingwell
alert(elfor.status);
//IE6-8 - 1 IE9,Firefox-undefined
alert(elfor.getAttribute("status"))
//全部輸出 1
總結(jié):
1:常規(guī)屬性建議使用 node.XXXX。
2:自定義屬性建議使用node.getAttribute("XXXX")。
3:當(dāng)獲取的目標(biāo)是JS里的關(guān)鍵字時建議使用node.getAttribute("XXX"),如label中的for。
4:當(dāng)獲取的目標(biāo)是保留字,如:class,請使用className代替。
下面為使用JS獲取MAC地址、IP地址及主機(jī)名的方法:
復(fù)制代碼代碼如下:
html
head
title/title
meta http-equiv="Content-Type" content="text/html; charset=gbk"
/head
body
object classid="CLSID:76A64158-CB41-11D1-8B02-00600806D9B6" id="locator" style="display:none;visibility:hidden"/object
object classid="CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223" id="foo" style="display:none;visibility:hidden"/object
form name="myForm"
br/MAC地址:input type="text" name="macAddress"
br/IP地址:input type="text" name="ipAddress"
br/主機(jī)名:input type="text" name="hostName"
/form
/body
/html
script language="javascript"
var sMacAddr="";
var sIPAddr="";
var sDNSName="";
var service = locator.ConnectServer();
service.Security_.ImpersonationLevel=3;
service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration');
/script
script FOR="foo" EVENT="OnObjectReady(objObject,objAsyncContext)" LANGUAGE="JScript"
if(objObject.IPEnabled != null objObject.IPEnabled != "undefined" objObject.IPEnabled == true){
if(objObject.IPEnabled objObject.IPAddress(0) !=null objObject.IPAddress(0) != "undefined")
sIPAddr = objObject.IPAddress(0);
if(objObject.MACAddress != null objObject.MACAddress != "undefined")
sMacAddr = objObject.MACAddress;
if(objObject.DNSHostName != null objObject.DNSHostName != "undefined")
sDNSName = objObject.DNSHostName;
}
/script
script FOR="foo" EVENT="OnCompleted(hResult,pErrorObject, pAsyncContext)" LANGUAGE="JScript"
myForm.macAddress.value=sMacAddr;
myForm.ipAddress.value=sIPAddr;
myForm.hostName.value=sDNSName;
/script
在使用中可能會出現(xiàn)安全的警告,點(diǎn)擊“是”,就可以運(yùn)行了,也可以在【Internet 選項】中【安全】-【ActiveX 控件和插件】-【對沒有標(biāo)記為安全的 ActiveX 控件進(jìn)行初始化和腳本運(yùn)行】設(shè)置為【啟用】,就不會彈出對話框了。有時候測試時因代碼出錯既不彈出對話框,也不顯示 IP,更正代碼后也是一樣的情況,這時你需要重新打開 IE 進(jìn)行測試,在實際使用中,不會出現(xiàn)類似情況。
代碼如下:
html
head
meta http-equiv="Content-Type" content="text/html; charset=gb2312"
titleJavaScript獲取客戶端IP/title
/head
body
script type="text/javascript" language="javascript"
!--
function GetLocalIPAddress()
{
var obj = null;
var rslt = "";
try
{
obj = new ActiveXObject("rcbdyctl.Setting");
rslt = obj.GetIPAddress;
obj = null;
}
catch(e)
{
//異常發(fā)生
}
return rslt;
}
document.write("你的IP是:" + GetLocalIPAddress());
//--
/script
/body
/html