JS 正则匹配ip地址端口后面部分
时间: 2024-09-26 15:03:00 浏览: 40
在JavaScript中,如果你想要匹配IP地址加上端口号(如 `192.168.0.1:8080` 的格式),你可以使用正则表达式来捕获这部分信息。这里是一个简单的例子:
```javascript
const regex = /^(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}):(\d+)$/;
function matchIpAddressAndPort(str) {
const match = str.match(regex);
if (match) {
return { ipAddress: match[1], port: parseInt(match[2]) };
}
return null; // 如果没匹配到,则返回null 或者你想处理的方式
}
// 使用示例
const result = matchIpAddressAndPort('192.168.0.1:8080');
console.log(result); // 输出:{ ipAddress: '192.168.0.1', port: 8080 }
```
这个正则表达式的含义是:
- `^` 表示字符串开始
- `(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})` 匹配IP地址,由四个数字段组成,每段最多三位,并用`.`分隔
- `:` 匹配冒号
- `(\d+)` 匹配一个或多个数字作为端口号
相关问题
JS 正则匹配ip地址端口后面那一部分
在JavaScript中,如果你想要使用正则表达式来匹配IP地址后面跟着的端口号,可以创建一个模式来识别标准格式,例如 `x.x.x.x:y`。下面是一个例子:
```javascript
function matchIPPort(str) {
const regex = /^(?:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}):(\d+)$/;
const match = regex.exec(str);
if (match && match[1]) {
return match[1]; // 返回匹配到的端口号
} else {
return null; // 或者抛出异常,表示未找到匹配项
}
}
// 示例
const input = "192.168.0.1:8080";
const port = matchIPPort(input);
console.log(port); // 输出:8080
```
这个函数会查找字符串中的IP地址和随后的数字,并返回那个数字作为端口号。如果输入不符合格式,它可能会返回 `null` 或者抛出异常。
js 正则匹配 ip网段
以下是JS正则匹配IP网段的例子:
```javascript
let ipReg = /^((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))$/;
let ipSegmentReg = /^((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){2}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))(\/(1[6-9]|2[0-8]))?$/;
let ip = '192.168.0.1';
let ipSegment = '192.168.0.0/24';
console.log(ipReg.test(ip)); // 输出:true
console.log(ipSegmentReg.test(ipSegment)); // 输出:true
```
其中,`ipReg`是匹配IP地址的正则表达式,`ipSegmentReg`是匹配IP网段的正则表达式。`ipSegmentReg`的规则是:前三段与`ipReg`相同,第四段为0-255的数字,后面可以跟一个`/`和一个1-28的数字,表示子网掩码。
阅读全文