HTML笔记 ·

js校验ip、子网掩码、网关的合法性

校验IP格式

IP的格式是xxx.xxx.xxx.xxx每个段的最大值为255,故可以采用正则表达式的方式来进行校验

子网掩码格式

子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。单纯的子网掩码有一定的格式规则,通过下面的正则表达式进行校验

如果要结合上ip则需要新的规则,每一类的子网掩码默认码是不同的,在此只说前三类掩码

A类掩码默认为255.0.0.0
B类掩码默认为255.255.0.0
C类掩码默认为255.255.255.0

A类IP地址(所有地址)(点分十进制)范围:0.0.0.0---127.255.255.255
B类IP地址(所有地址)(点分十进制)范围:128.0.0.0---191.255.255.255
C类IP地址(所有地址)(点分十进制)范围:192.0.0.0---223.255.255.255

此类说的分类包含了所有的地址。

当只有一个ip地址的时候,只需要将输入的子网掩码的四个段分别于默认的ip段子网掩码的四个段做与运算,结果和默认子网掩码类相同即为正确。

当有两个ip时需要判断两个ip是否在同一个ip段内,需要再将ip分别于输入的子网掩码做与运算,算出的结果相同,则两个ip在同一个网段内,否则不在同一个网段内

网关规则

加入网关之后,则需要校验ip,子网掩码,网关三者的合法性,需要先确定前面的校验通过,在进行网关的校验,网关的校验规则为ip于子网掩码做与运算,网关于子网掩码做与运算,所得出的结果相同则为符合规范。如果有两个ip则需要分别进行校验

 

参与评论