我制作的一个页面允许用户使用 % 作为通配符(例如 192.168.1.%)提交 IP(全部是 IPv4,而不是 IPv6)。他们还可以提交不带通配符的完整 IP。IP 通过常规 HTML 表单输入发布,例如<input name=\"ip\" maxlength=\"15\"/>
.
本质上,我只需要检查 IP 是否只包含数字、点和百分号(最多两个)。我并不真正关心人们输入大于 255 的数字,但我不希望他们每个点输入的数字超过三个。
我根本不知道正则表达式,所以我什至不知道从哪里开始。我知道 [0-9] 只允许数字 0-9,但这可能不会有太大帮助。我是否应该使用点作为分隔符将 $_POST['ip'] 变量分成多个部分,然后在每个部分上运行正则表达式?一次运行它可能更有效。