前言:
目前各位老铁们对“js正则ip地址”大体比较珍视,同学们都需要知道一些“js正则ip地址”的相关知识。那么小编也在网摘上搜集了一些对于“js正则ip地址””的相关文章,希望我们能喜欢,朋友们快快来了解一下吧!/*校验ip合法性*/ function checkIp(ip) { var rep = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/; if (!rep.test(ip)) { return false; } else { return true; } }
// 校验子网掩码合法性 function isValidMask(mask) { var reg = /^(254|252|248|240|224|192|128|0)\.0\.0\.0|255\.(254|252|248|240|224|192|128|0)\.0\.0|255\.255\.(254|252|248|240|224|192|128|0)\.0|255\.255\.255\.(254|252|248|240|224|192|128|0)$/; return reg.test(mask); }
/*校验ip和子网掩码组合 合法性*/ function checkMask(ip1, mask) { // obj=mask; //符合规范返回值为0,否则返回2 var exp = /^(254|252|248|240|224|192|128|0)\.0\.0\.0|255\.(254|252|248|240|224|192|128|0)\.0\.0|255\.255\.(254|252|248|240|224|192|128|0)\.0|255\.255\.255\.(254|252|248|240|224|192|128|0)$/; var A_IP_REGEX_ALL = /^(\d|[1-9]\d|1[0-1]\d|12[0-7])(\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])){3}$/; var B_IP_REGEX_ALL = /^(12[8-9]|1[3-8]\d|19[0-1])(\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])){3}$/; var C_IP_REGEX_ALL = /^(19[2-9]|2[0-1]\d|22[0-3])((\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))){3}$/; if (!exp.test(mask)) { return 2; } else { var ip1Array = ip1.split("."); var yuIp1 = []; var mask_arr = mask.split("."); var checkMask = true; var checkIpD = 0; if (A_IP_REGEX_ALL.test(ip1)) { var static_Mask = [255, 0, 0, 0]; yuIp1.push(parseInt(static_Mask[0]) & parseInt(mask_arr[0])); yuIp1.push(parseInt(static_Mask[1]) & parseInt(mask_arr[1])); yuIp1.push(parseInt(static_Mask[2]) & parseInt(mask_arr[2])); yuIp1.push(parseInt(static_Mask[3]) & parseInt(mask_arr[3])); $.each(yuIp1, function (i, p) { if (p !== static_Mask[i]) { checkMask = false; return false; } }); if (!checkMask) { return 2; } else { return 0; } } else if (B_IP_REGEX_ALL.test(ip1)) { var static_Mask = [255, 255, 0, 0]; yuIp1.push(parseInt(static_Mask[0]) & parseInt(mask_arr[0])); yuIp1.push(parseInt(static_Mask[1]) & parseInt(mask_arr[1])); yuIp1.push(parseInt(static_Mask[2]) & parseInt(mask_arr[2])); yuIp1.push(parseInt(static_Mask[3]) & parseInt(mask_arr[3])); $.each(yuIp1, function (i, p) { if (p !== static_Mask[i]) { checkMask = false; return false; } }); if (!checkMask) { return 2; } else { return 0; } } else if (C_IP_REGEX_ALL.test(ip1)) { var static_Mask = [255, 255, 255, 0]; yuIp1.push(parseInt(static_Mask[0]) & parseInt(mask_arr[0])); yuIp1.push(parseInt(static_Mask[1]) & parseInt(mask_arr[1])); yuIp1.push(parseInt(static_Mask[2]) & parseInt(mask_arr[2])); yuIp1.push(parseInt(static_Mask[3]) & parseInt(mask_arr[3])); $.each(yuIp1, function (i, p) { if (p !== static_Mask[i]) { checkMask = false; return false; } }); if (!checkMask) { return 2; } else { return 0; } } } }
/*校验ip、子网掩码、网关的合法性*/ function checkNet(static_ip, static_mask, static_gw) { if (static_ip === static_mask || static_mask === static_gw || static_mask === static_gw) { return "IP地址与子网掩码、网关地址不能相同"; //3个地址不能相同 } var static_ip_arr = []; var static_mask_arr = []; var static_gw_arr = []; static_ip_arr = static_ip.split("."); static_mask_arr = static_mask.split("."); static_gw_arr = static_gw.split("."); var res0 = parseInt(static_ip_arr[0]) & parseInt(static_mask_arr[0]); var res1 = parseInt(static_ip_arr[1]) & parseInt(static_mask_arr[1]); var res2 = parseInt(static_ip_arr[2]) & parseInt(static_mask_arr[2]); var res3 = parseInt(static_ip_arr[3]) & parseInt(static_mask_arr[3]); var res0_gw = parseInt(static_gw_arr[0]) & parseInt(static_mask_arr[0]); var res1_gw = parseInt(static_gw_arr[1]) & parseInt(static_mask_arr[1]); var res2_gw = parseInt(static_gw_arr[2]) & parseInt(static_mask_arr[2]); var res3_gw = parseInt(static_gw_arr[3]) & parseInt(static_mask_arr[3]); if (res0 === res0_gw && res1 === res1_gw && res2 === res2_gw && res3 === res3_gw) { return ""; } else { return 'IP地址与子网掩码、网关地址不匹配'; } }
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #js正则ip地址