首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ip地址列表的正则表达式

ip地址列表的正则表达式
EN

Stack Overflow用户
提问于 2014-04-09 13:40:36
回答 1查看 3.3K关注 0票数 1

我希望匹配包含'*‘或逗号分隔的IPv4地址列表的字符串。

以下内容适用于一个IP或一个恒星:

/^(?:(?:(?:250-5|20-4|010-9?).){3}(?:250-5|20-4|010-9?)|*)$/

我试着采用这个方法,因为我有一张IP或明星的名单:

)(?:(?:(?:250-5|20-4|010-9?).){3}(?:250-5|20-4|010-9?)|*)$/ (/^)

但这不像预期的那样有效。

你能帮帮我吗?

特克斯,托马斯

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-09 14:05:08

因为你对IP的公认号码有明确的说明,

代码语言:javascript
复制
/^\*$|^(?:\d|1?\d\d|2[0-4]\d|25[0-5])(?:\.(?:\d|1?\d\d|2[0-4]\d|25[0-5])){3}(?:\s*,\s*(?:\d|1?\d\d|2[0-4]\d|25[0-5])(?:\.(?:\d|1?\d\d|2[0-4]\d|25[0-5])){3})*$/
// * or   IP=   0-255                    .0-255 (3 more times)           then (, IP) 0 or mote times

我只会使用这样的RegExp,如果必须只使用一个RegExp检查有效性,因为将其分解为几个步骤可能要清楚得多,否则。

代码语言:javascript
复制
// some func
var reIP = /^(?:\d|1?\d\d|2[0-4]\d|25[0-5])(?:\.(?:\d|1?\d\d|2[0-4]\d|25[0-5])){3}$/,
    tokens = str.split(/\s*,\s*/), i;
for (i = 0; i < tokens.length; ++i)
    if (!reIP.test(tokens[i]))
        return false;
return true;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22964408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档