js正则同时匹配ipv4和ipv6
时间: 2024-05-09 07:21:02 浏览: 235
以下是一个例子,可以同时匹配IPv4和IPv6地址:
```javascript
// 匹配IPv4地址
const ipv4Regex = /^(\d{1,3}\.){3}\d{1,3}$/;
// 匹配IPv6地址
const ipv6Regex = /^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$/;
// 匹配IPv4和IPv6地址
const ipRegex = new RegExp(`(${ipv4Regex.source})|(${ipv6Regex.source})`);
// 测试
console.log(ipRegex.test('192.168.1.1')); // true
console.log(ipRegex.test('2001:0db8:85a3:0000:0000:8a2e:0370:7334')); // true
console.log(ipRegex.test('example.com')); // false
```
相关问题
js正则,可以匹配ipv4或ipv6两个
IPv4正则表达式:
```
/^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$/
```
IPv6正则表达式:
```
/^([\da-fA-F]{1,4}:){7}[\da-fA-F]{1,4}$/
```
如果需要同时匹配IPv4和IPv6,则可以使用或运算符`|`将两个正则表达式合并:
```
/^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$|^([\da-fA-F]{1,4}:){7}[\da-fA-F]{1,4}$/
```
正则同时匹配IPv6和IPV4
可以使用以下正则表达式同时匹配IPv6和IPv4地址:
```
^(?:(?:[0-9A-Fa-f]{1,4}:){6}|(?=(?:[0-9]{1,3}\.){3}[0-9]{1,3}$)(?:[0-9]{1,3}\.){3}[0-9]{1,3})\b
```
这个正则表达式首先检查是否有6个16进制数字和冒号,如果没有,则检查是否有4个点分十进制数字。
阅读全文