扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
你想问的是ipv4和ipv6吧?
为五寨等地区用户提供了全套网页设计制作服务,及五寨网站建设行业解决方案。主营业务为成都做网站、网站建设、五寨网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
ipv4地址中间是用点(.)隔开,比如192.168.0.1
ipv6地址中间使用冒号(:)隔开,比如80:0:0:0:0:0:0:1
用脚本判断就很简单了,有多种方法,
var ip;
if(ip.indexOf(".")0){
//ipv4地址
}else{
//ipv6地址
}
JavaScript 获取的 IP 有个优点就是它获取的是本机设置的 IP,如果计算机通过局域网上网,那么它获得的就是计算机的局域网 IP。通过两种获取 IP 的方法,就可以确定某一台计算机。
代码:
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)
{
//异常发生
}
return rslt;
}
document.write("你的IP是:" + GetLocalIPAddress());
//--
/script
/body
/html
在使用中可能会出现类似下图的警告,点击“是”,就可以运行了,也可以在【Internet 选项】中【安全】-【ActiveX 控件和插件】-【对没有标记为安全的 ActiveX 控件进行初始化和脚本运行】设置为【启用】,就不会弹出对话框了。有时候测试时因代码出错既不弹出对话框,也不显示 IP,更正代码后也是一样的情况,这时你需要重新打开 IE 进行测试,在实际使用中,不会出现类似情况。
JavaScript 获取的 IP 有个优点就是它获取的是本机设置的 IP,如果计算机通过局域网上网,那么它获得的就是计算机的局域网 IP,而不像 ASP 中 Request 获取的是计算机连接到互联网的 IP。通过两种获取 IP 的方法,就可以确定某一台计算机。 代码: JavaScript获取客户端IP 在使用中可能会出现类似下图的警告,点击“是”,就可以运行了,也可以在【Internet 选项】中【安全】-【ActiveX 控件和插件】-【对没有标记为安全的 ActiveX 控件进行初始化和脚本运行】设置为【启用】,就不会弹出对话框了。有时候测试时因代码出错既不弹出对话框,也不显示 IP,更正代码后也是一样的情况,这时你需要重新打开 IE 进行测试,在实际使用中,不会出现类似情况。
可以用getAttribute()方法获取。
注:总结了一些getAttribute(),setAttribute()在不同浏览器下兼容性以及如何解决这些问题
body里面有这些内容:
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
总结:
1:常规属性建议使用 node.XXXX。
2:自定义属性建议使用node.getAttribute("XXXX")。
3:当获取的目标是JS里的关键字时建议使用node.getAttribute("XXX"),如label中的for。
4:当获取的目标是保留字,如:class,请使用className代替。
下面为使用JS获取MAC地址、IP地址及主机名的方法:
复制代码代码如下:
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/主机名: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
在使用中可能会出现安全的警告,点击“是”,就可以运行了,也可以在【Internet 选项】中【安全】-【ActiveX 控件和插件】-【对没有标记为安全的 ActiveX 控件进行初始化和脚本运行】设置为【启用】,就不会弹出对话框了。有时候测试时因代码出错既不弹出对话框,也不显示 IP,更正代码后也是一样的情况,这时你需要重新打开 IE 进行测试,在实际使用中,不会出现类似情况。
代码如下:
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)
{
//异常发生
}
return rslt;
}
document.write("你的IP是:" + GetLocalIPAddress());
//--
/script
/body
/html
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流