javascript - 什么是正确的 JavaScript IPv4 正则表达式,不包括 0.0.0.0 和 255.255.255.255?
问题描述
你们能否让我知道 JavaScript 语言中 IPv4(不包括 0.0.0.0 和 255.255.255.255)的正确正则表达式?
实际上,我的测试正则表达式如下。但 0.0.0.0 和 255.255.255.255 仍然匹配。
那么,有比我更好的正则表达式吗?以及排除 0.0.0.0 和 255.255.255.255 的任何解决方案
提前致谢。
function inputCheck(inputString) {
var inputList = inputString.split("\n");
var flagList = [];
var ipRegex = new RegExp("^(([1-9]?\\d|1\\d\\d|2[0-5][0-5]|2[0-4]\\d)\\.){3}([1-9]?\\d|1\\d\\d|2[0-5][0-5]|2[0-4]\\d)$");
for (var i=0; i<inputList.length; i++) {
var tempResult = ipRegex.test(inputList[i]);
flagList.push(tempResult);
}
if (inputString.replace(/\s/gi, "").length === 0) {
return true;
} else if(flagList.indexOf(false) !== -1) {
return false;
} else {
return true;
}
}
解决方案
您可以在使用正则表达式之前简单地添加一个检查
return str !== '0.0.0.0' && str !== '255.255.255.255' ? regex.test(str) : false
推荐阅读
- vue.js - VueJS - 如何在 v-for 循环中启用/禁用特定输入
- bash - bash 中的 && { command } 有什么作用?
- grouping - 如何创建组中元素的总和?
- android - 如何将 android 意图与 expo 应用程序一起使用
- matlab - MATLAB 中的 LogLog 绘图未创建绘图
- flutter - Flutter:使用嵌套小部件滚动
- rust - 如何为具有 AtomicUsize 字段的结构实现 Drop?
- python - Python Dask - 所有列的分组性能
- php - openssl_decrypt():为 AEAD 密码解密设置标签失败
- node.js - Google IOT:在 sendCommandtoDevice 失败后识别设备重新联机