找回密码
 立即注册

微信扫码登录

搜索
查看: 98|回复: 1

[教程系列] 请教在NR里获取WAN_IP首位数字进行对比的方法?

[复制链接]
aska 手机认证

2

主题

101

回帖

1261

积分

金牌会员

积分
1261
金钱
1158
HASS币
0
发表于 4 天前 | 显示全部楼层 |阅读模式
本帖最后由 aska 于 2026-1-5 23:48 编辑

我们南宁联通宽带之前一直是给动态的公网IP,去年改了是内网(10.x.x.x)和公网IP(171.x.x.x-172.x.x.x)混合使用,但内网IP占大部分,重复拨号后有可能获取公网IP。
刚好主路由用iKuai,通过HA的集成可以获取WAN_IP。想通过WAN_IP 首位进行对比,为10就重新拨号,再比较直至首位IP非10为止,这样在外面也能保证家里是公网IP随时能远程到家里。

但本人小白心有余而力不足,只能到获IP这步,请问大佬们下一步的函数如何写才能把WAN口IP首位提取出来?
IP查询.png




回复

使用道具 举报

aska 手机认证

2

主题

101

回帖

1261

积分

金牌会员

积分
1261
金钱
1158
HASS币
0
 楼主| 发表于 3 天前 | 显示全部楼层
本帖最后由 aska 于 2026-1-6 00:58 编辑

AI蛮好用的,帮解决了
// 假设IP在 msg.ip 中
if (msg.ip && typeof msg.ip === 'string') {

    // 使用正则表达式匹配IP地址开头的数字
    // ^\d+ 匹配字符串开头的一个或多个数字
    const match = msg.ip.match(/^\d+/);

    if (match) {
        // 如果匹配成功,match[0] 就是我们想要的结果
        msg.ip = match[0];
    } else {
        msg.ip = "Error: No leading digits found";
    }
} else {
    msg.ip = "Error: Invalid input";
}

return msg;


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian ( 晋ICP备17001384号-1 )

GMT+8, 2026-1-9 00:05 , Processed in 0.626446 second(s), 10 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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