吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 866|回复: 7
收起左侧

[求助] 请教一下php里面 条件执行的正则匹配 该怎么写

[复制链接]
plaodj 发表于 2023-9-6 23:39
通过  $_SERVER["REMOTE_ADDR"]  获取 客户端 ip

因为ip后两位是会变的   前两位不变

当 客户端ip 是 123.223.*.* (其中*表示任何符合ip规则的数字)  就执行 语句

如客户端ip   123.223.52.36  执行语句1
if($_SERVER["REMOTE_ADDR"]=="123.223.52.36")
        {
            语句1
        }
else
       {
           语句2
       }
现在ip 只有前两位 123.223  不变   后两位是会变的

只好使用正则了  凡是ip前两位等于123.223 的就执行 语句1 ,不然就执行语句2
if( 正则 )
        {
            语句1
        }
else
       {
           语句2
       }

这个正则 要怎么写呢?

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
为之奈何? + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

dleo 发表于 2023-9-7 00:17
最简单直接的就是字符串前面7位等于 123.223 就可以了,不用搞什么正则
KKBon 发表于 2023-9-7 00:55
本帖最后由 KKBon 于 2023-9-7 00:58 编辑

[PHP] 纯文本查看 复制代码
if(preg_match("/^123\.223\.\d+\.\d+$/",$_SERVER["REMOTE_ADDR"],$ipmc))
Pwaerm 发表于 2023-9-7 06:44
rwj1990 发表于 2023-9-7 09:52
https://goregex.cn/index.html
apull 发表于 2023-9-7 11:55
简单事情搞复杂了。子串比较就哦了
Cyntec 发表于 2023-9-7 15:40

[PHP] 纯文本查看 复制代码
$pattern = '/^123\.223\.\d{1,3}\.\d{1,3}$/';

$ip = "123.223.10.20"; // 替换为你要匹配的IP地址

if (preg_match($pattern, $ip)) {
    echo "IP地址符合要求";
} else {
    echo "IP地址不符合要求";
}
小雨网络 发表于 2023-9-12 11:43
$ip = $_SERVER["REMOTE_ADDR"];
$pattern = '/^123\.223\./';

if (preg_match($pattern, $ip)) {
    // 匹配成功,执行语句1
    // ...
} else {
    // 匹配失败,执行语句2
    // ...
}


这里的正则表达式 /^123\.223\./ 意味着:

^ 表示匹配字符串的开始。
123\.223\. 匹配 "123.223.",这里要使用反斜杠 \ 转义点号 .,因为点号在正则表达式中有特殊意义。
最后的 . 匹配任何一个字符(包括数字、字母、特殊字符等)。
所以这个正则表达式将匹配以 "123.223." 开头的任何字符串,而后续的字符不限制。如果IP地址以 "123.223." 开头,那么就会执行语句1,否则执行语句2。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 20:08

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表