我有一个表单,其中包含一个IP地址字段。 我想检查IP是否为127.0.0.1,因为我要ping IP。 显然ping 127.0.0.1将ping本地主机。
为了防止这种情况,我想使用preg_match来检查: - 127.0.0.1或127.0.0.1,包括一个端口(例如127.0.0.1:80)
答案 0 :(得分:2)
<?php
$pattern = "/^127\.0{0,3}\.0{0,3}.0{0,2}1(:\d+)?$/";
$string = "127.0.0.1:8080";
if ( preg_match($pattern, $string)){
echo 'is a match';
}else{
echo 'is not a match';
}
?>
这应该有效。请注意,您必须考虑前导零...
答案 1 :(得分:0)
127\.0\.0\.1(?:\:[0-9]+)?
使用冒号后跟一个或多个数字查找127.0.0.1。
答案 2 :(得分:0)
^127\.0{1,3}\.0{1,3}\.0{,2}1(:[0-9]+)?$
应该做的诀窍......如果我能假设你正在使用PHP的preg_match(或similar)来完成任务。
答案 3 :(得分:0)
/(127\.0\.0\.1\:.+?\d{1,5})|(127\.0\.0\.1)/