Php 如何将Ip地址与逗号分隔的Ip地址匹配
如何将有效ip与分隔字符串匹配 我有一个文本框,用户可以输入逗号,分隔ip 为此,我检查字符串是否包含有效的ip字符串 字符串应该是Php 如何将Ip地址与逗号分隔的Ip地址匹配,php,preg-match,Php,Preg Match,如何将有效ip与分隔字符串匹配 我有一个文本框,用户可以输入逗号,分隔ip 为此,我检查字符串是否包含有效的ip字符串 字符串应该是 192.168.1.1 195.138.124.1,1.154.127.1 这就是我要和你们分享的。我已经为此花费了2到3个小时,所以我想与您分享。因此,您可能不必为此花费数小时 这是使用逗号分隔字符串匹配IP的正则表达式 /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(?:,\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{
192.168.1.1
195.138.124.1,1.154.127.1
这就是我要和你们分享的。我已经为此花费了2到3个小时,所以我想与您分享。因此,您可能不必为此花费数小时 这是使用逗号分隔字符串匹配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})*$/
这就是我要和你们分享的。我已经为此花费了2到3个小时,所以我想与您分享。因此,您可能不必为此花费数小时 这是使用逗号分隔字符串匹配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})*$/
正如所建议的那样,使用内置过滤器可以获得更好的结果:
function validateIPs ($input) {
foreach(explode(',', $input) as $ip)
if (!filter_var($ip, FILTER_VALIDATE_IP))
return false;
return true;
}
正如所建议的那样,使用内置过滤器可以获得更好的结果:
function validateIPs ($input) {
foreach(explode(',', $input) as $ip)
if (!filter_var($ip, FILTER_VALIDATE_IP))
return false;
return true;
}
这就是你所说的浪费时间,首先在谷歌上点击各种各样的regex来获取ip地址。可能不是逗号分隔的,但为什么不使用爆炸;为此,您最好使用内置的filter\u var函数和filter\u VALIDATE\u IP。您的regexp将匹配不正确的地址-您只是在检查数字的数量,因此350.350.350.350将通过。您可以使用组:^\d{1,3}?:\。\d{1,3}{3}:,?1*$其中?1是对第一个圆括号子模式的引用,这是一个ip地址的模式打开一个非捕获组。这就是你所说的浪费时间,首先在谷歌上点击各种各样的正则表达式来获取ip地址。可能不是逗号分隔的,但为什么不使用爆炸;为此,您最好使用内置的filter\u var函数和filter\u VALIDATE\u IP。您的regexp将匹配不正确的地址-您只是在检查数字的数量,因此350.350.350.350将通过。您可以使用组:^\d{1,3}?:\。\d{1,3}{3}:,?1*$其中?1是对第一个圆括号子模式的引用,这是一个ip地址的模式打开非捕获组。将分解与此答案组合。将分解与此答案组合。