澳门皇冠金沙网站-澳门皇冠844网站

热门关键词: 澳门皇冠金沙网站,澳门皇冠844网站

javascript判断两个IP地址是否在同一个网段的实现

1)基本思路:
要判断两个IP地址是否在同一个网段,将它们的IP地址分别与子网掩码做与运算,得到的结果为网络号,如果网络号相同,就在同一子网,否则,不在同一子网。

Q1、写一个函数,返回从min到max之间的 随机整数,包括min不包括max

function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min ) min);
}

2)具体实现:

Q2、写一个函数,返回从min都max之间的 随机整数,包括min包括max

function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min 1 ) min);
}

复制代码 代码如下:

Q3、写一个函数,生成一个长度为 n 的随机字符串,字符串字符的取值范围包括0到9,a到 z,A到Z。

function getRandStr(len){
var dict="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
var ch,str=" ",
idx;
for(var i=0;i<len;i ){
idx=Math.floor(Math.random()*62);
ch=dict[idx]
str =ch;
}
return str;
}
var str = getRandStr(10);
console.log(str);

/**
* [isEqualIPAddress 判断两个IP地址是否在同一个网段]
* @param {[String]} addr1 [地址一]
* @param {[String]} addr2 [地址二]
* @param {[String]} mask [子网掩码]
* @return {Boolean} [true or false]
*/
function isEqualIPAddress (addr1,addr2,mask){
if(!addr1 || !addr2 || !mask){
console.log("各参数不能为空");
return false;
}
var
res1 = [],
res2 = [];
addr1 = addr1.split(".");
addr2 = addr2.split(".");
mask = mask.split(".");
for(var i = 0,ilen = addr1.length; i < ilen ; i = 1){
res1.push(parseInt(addr1[i]) & parseInt(mask[i]));
res2.push(parseInt(addr2[i]) & parseInt(mask[i]));
}
if(res1.join(".") == res2.join(".")){
console.log("在同一个网段");
return true;
}else{
console.log("不在同一个网段");
return false;
}
}

Q4、写一个函数,生成一个随机 IP 地址,一个合法的 IP 地址为 0.0.0.0~255.255.255.255

function getRandIP(){
var ip = [];
for(var i =0 ;i < 4 ;i ){
ip.push(Math.floor(Math.random()*256));
}
return ip.join(".");
}
var ip = getRandIP();
console.log(ip);

您可能感兴趣的文章:

  • 用JavaScript实现的一个IP地址输入框
  • javascript将ip地址第四段用星号代替的两种方法
  • java实现ip地址与十进制数相互转换
  • Java判断本机IP地址类型的方法
  • java中通过网卡名称获取IP地址
  • Java输出通过InetAddress获得的IP地址数组详细解析
  • java获取ip地址示例
  • java实现根据ip地址获取地理位置的代码分享
  • Java基础之java处理ip的工具类

Q5、写一个函数,生成一个随机颜色字符串,合法的颜色为#000000~ #ffffff

function getRandColor()
{
var color = '#';
var dict = '0123456789abcdef';
for (var i=0; i <6; i )
{
color = dict[parseInt(Math.random() *16)];
}
return color;
}
var color = getRandColor()
console.log(color)

数组任务

Q1、数组方法里push、pop、shift、unshift、join、splice分别是什么作用?用 splice函数分别实现push、pop、shift、unshift方法

push([element1[, ...[, elementN]]])将一个或多个元素添加到数组的末尾
pop()从数组中删除最后一个元素
shift() 从数组中删除第一个元素
unshift(element1, ..., elementN) 将一个或多个元素添加到数组的开头
join()将数组(或一个类数组对象)的所有元素连接到一个字符串中。
splice() 通过删除现有元素和/或添加新元素来更改数组的内容。

splice(arr.length-1,1)=pop()
splice(0,1)=shift()
splice(arr.length,0,val)=push(val)
splice(0,0,val)=unshift(val)

本文由澳门皇冠金沙网站发布于前端开发,转载请注明出处:javascript判断两个IP地址是否在同一个网段的实现