js正则,可以匹配ipv4或ipv6两个
时间: 2024-05-02 14:20:26 浏览: 10
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}$/
```
相关问题
js正则同时匹配ipv4和ipv6
以下是一个例子,可以同时匹配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
```
如何用正则判断ipv4和ipv6
IPv4可以使用以下正则表达式进行匹配:
```regex
^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
```
IPv6可以使用以下正则表达式进行匹配:
```regex
^([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4}$
```
注意:这只是判断格式是否正确,并不保证地址的合法性。