我希望匹配包含'*‘或逗号分隔的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?)|*)$/ (/^)
但这不像预期的那样有效。
你能帮帮我吗?
特克斯,托马斯
发布于 2014-04-09 14:05:08
因为你对IP的公认号码有明确的说明,
/^\*$|^(?:\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检查有效性,因为将其分解为几个步骤可能要清楚得多,否则。
// 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;https://stackoverflow.com/questions/22964408
复制相似问题