JS不能跨域借助jquery获取IP地址的方法,javascrip
分类:美高梅游戏官网网站

获取IP地址,JS也可以获取客户端IP地址啦,大家知道JS不能跨域,所以这里借助了jquery,真的可以实现获取IP地址,代码如下,已通过测试:

本代码是从个人项目中提取出来的,应该可以算的上是相当全面有效的IP相关信息的验证代码了,用来前端验证

在做B/S结构的系统时,我们常常需要获取客户端的一些信息,如IP和MAC,以结合身份验证。在ASP.NET中,要获取服务器端的MAC很容易,但是要获取客户端的MAC的地址确要花费一翻心思,通常的做法是调用Win32API或直接调用nbtstat命令,这样做有很多问题,而另一种方法就是直接用客户端脚本,我们这里用Javascript,这样做的好处是不需要服务器端进行处理,有客户端自行获取,传递到服务器端,且速度和可靠性都比在服务器端获取好。
  具体实现的html和javascript如下: 

复制代码 代码如下:

<script language="javascript" src="//www.jb51.net/jslib/jquery/jquery.js"></script> 
<script language="javascript"> 
jQuery(function($){ 
var url = 'http://chaxun.1616.net/s.php?type=ip&output=json&callback=?&_='+Math.random(); 
$.getJSON(url, function(data){ 
alert(data.Ip); 
}); 
}); 
</script>
/* ****************** */
/* 判断IP地址是否合法 */
var judgeIpIsLegal = function(ipAddr){
  var regIps = /^(((25[0-5]|2[0-4]d|1d{2}|[1-9]d|[0-9]).){3}(25[0-5]|2[0-4]d|1d{2}|[1-9]d|[0-9]))$/;
  return regIps.test(ipAddr);
}
/* IP地址转换为二进制字符串 */
/* 例如:172.16.4.235 --> 10101100000100000000010011101011 */
var praseIpToBinary = function(ipAddress){
  var numArray = ipAddress.split(".");
  if(numArray.length != 4){
    alert("输入的IP有误");
    return;
  }
  var returnIpStr = "";
  for (var i = 0; i < 4; i++) {
    var curr_num = numArray[i];
    var number_Bin = parseInt(curr_num);
    number_Bin = number_Bin.toString(2);
    var iCount = 8-number_Bin.length;
    for (var j = 0; j < iCount; j++) {
      number_Bin = "0"+number_Bin;
    }
    returnIpStr += number_Bin;
  }
  return returnIpStr;
}
/* 判断子网掩码是否合法 */
/* 子网掩码必须是 1 和 0组成的连续的一段 如 11110000 */
var judgeSubnetMask = function(ipAddress){
  var binaryIpString = praseIpToBinary(ipAddress).toString();
  var subIndex = binaryIpString.lastIndexOf("1")+1;
  var frontHalf = binaryIpString.substring(0,subIndex);
  var backHalf = binaryIpString.substring(subIndex);
  if(frontHalf.indexOf("0") != -1 || backHalf.indexOf("1") != -1){
    return false;
  }else{
    return true;
  }
}
/* 两个IP地址做 与 操作 返回结果 */
/* 该功能主要用来实现 IP地址和子网掩码 相与,获取当前IP地址的IP地址段 */
/* 以此来验证输入的网关地址是否合法 */
var getIPsAndResult = function(ipAddr1,ipAddr2){
  var ipArray1 = ipAddr1.split(".");
  var ipArray2 = ipAddr2.split(".");
  var returnResult = "";
  if(ipArray1.length != 4 || ipArray2.length != 4 ){
    alert("输入的IP有误");
    return;
  }
  for (var i = 0; i < 4; i++) {
    var number1 = parseInt(ipArray1[i]);
    var number2 = parseInt(ipArray2[i]);
    returnResult += number1&number2;
    if(i<3){
      returnResult += ".";
    }
  }
  return returnResult;
}
/* 判断网关地址是否合法 */
var judgeGatewayResult = function(ipAddr,subnetMask,gateway){
  var andResult1 = getIPsAndResult(ipAddr,subnetMask);
  var andResult2 = getIPsAndResult(gateway,subnetMask);
  if(andResult1 == andResult2){
    return true;
  }else{
    return false;
  }
}

WMI Scripting HTML

function CheckForm2()
{
//mac地址正则表达式
var reg_name=/[A-Fd]{2}:[A-Fd]{2}:[A-Fd]{2}:[A-Fd]{2}:[A-Fd]{2}:[A-Fd]{2}/;
if(!reg_name.test(document.form2.mac.value)){
alert("mac地址格式不正确!mac地址格式为00:24:21:19:BD:E4");
document.form2.mac.focus();
return false;
}
return true;
}

您可能感兴趣的文章:

  • Android手机获取IP地址的两种方法
  • Linux下Python获取IP地址的代码
  • PowerShell脚本实现网卡DHCP自动获取IP地址、设置静态IP地址的方法
  • js获取IP地址的方法小结
  • java获取ip地址示例
  • java中通过网卡名称获取IP地址
  • asp下比较全面的获取IP地址的代码
  • 在InstallShield中通过主机名获取IP地址的代码
  • 安卓 获取手机IP地址的实现代码

以上所述就是本文的全部内容了,希望大家能够喜欢。

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

您可能感兴趣的文章:

  • java通过ip获取客户端Mac地址的小例子
  • 获取同一网段下所有机器MAC地址的shell脚本
  • 获取wince mac地址与IP地址解决方案
  • asp.net根据计算机MAC地址限定每台机子只能领取一次账号
  • PHP获取MAC地址的函数代码
  • 获取客户端网卡MAC地址和IP地址实现JS代码

您可能感兴趣的文章:

  • jsp获取客户端IP地址的方法
  • JSP如何获取客户端真实IP地址
  • JS获取客户端IP地址、MAC和主机名的7个方法汇总
  • js获取客户端网卡的IP地址、MAC地址
  • 获取客户端网卡MAC地址和IP地址实现JS代码
  • js针对ip地址、子网掩码、网关的逻辑性判断
  • javascript使用正则表达式检测IP地址
  • nodejs获取本机内网和外网ip地址的实现代码
  • JS简单获取客户端IP地址的方法【调用搜狐接口】

  关键是用到两个ActiveX:

  <OBJECT id=locator classid=CLSID:76A64158-CB41-11D1-8B02-00600806D9B6 VIEWASTEXT></OBJECT>
  <OBJECT id=foo classid=CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223></OBJECT>

  不过这两个ActiveX都是系统自带,不用去下载或注册。

  接下来的工作就是用脚本和ActiveX交互,脚本可以是js或Vbs我个人喜欢用js。

您可能感兴趣的文章:

  • 获取客户端网卡MAC地址和IP地址实现JS代码
  • java通过ip获取客户端Mac地址的小例子
  • PHP获取MAC地址的函数代码
  • PHP中获取内网用户MAC地址(WINDOWS/linux)的实现代码
  • PHP下通过exec获得计算机的唯一标识[CPU,网卡 MAC地址]
  • php/js获取客户端mac地址的实现代码

本文由美高梅网址发布于美高梅游戏官网网站,转载请注明出处:JS不能跨域借助jquery获取IP地址的方法,javascrip

上一篇:IE浏览器IFrame对象内存不释放问题解决方法,II 下一篇:英文翻译美高梅游戏官网网站,JavaScript验证电子
猜你喜欢
热门排行
精彩图文