如何将 Ip 地址与逗号分隔的 Ips php 相匹配

How to match Ip address with comma separated Ips php

如何将有效的 ip 与 (,) 分隔的字符串匹配。

我有一个文本框,用户可以输入 ip,用逗号 (,) 分隔。

为此,我正在检查该字符串是否包含有效的 ip 字符串。

字符串应该是

192.168.1.1
195.138.124.1,1.154.127.1

这就是我要与大家分享的内容。为此我花了将近 2 到 3 个小时,所以我想与 you.so 分享这个,你可能不必为此花费几个小时。

这是用逗号分隔的字符串匹配IP的正则表达式。

/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(?:,\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})*$/

Link for check online regular expression

按照建议,您将使用内置过滤器获得更强的结果:

function validateIPs ($input) {
    foreach(explode(',', $input) as $ip)
        if (!filter_var($ip, FILTER_VALIDATE_IP))
            return false;
    return true;
}