Regex for Private IP Address
Regex Pattern
^(10\.\d{1,3}\.\d{1,3}\.\d{1,3}|172\.(1[6-9]|2[0-9]|3[01])\.\d{1,3}\.\d{1,3}|192\.168\.\d{1,3}\.\d{1,3})$RFC 1918 private IPv4 address ranges (10.x, 172.16-31.x, 192.168.x)
Quick Answer
The regex pattern for private ip address is `^(10\.\d{1,3}\.\d{1,3}\.\d{1,3}|172\.(1[6-9]|2[0-9]|3[01])\.\d{1,3}\.\d{1,3}|192\.168\.\d{1,3}\.\d{1,3})$`. RFC 1918 private IPv4 address ranges (10.x, 172.16-31.x, 192.168.x). This works in JavaScript, Python, Ruby, PHP, Java, and most regex engines that support PCRE syntax.
Test Examples
| Input | Result |
|---|---|
| 10.0.0.1 | ✓ Matches |
| 172.16.0.1 | ✓ Matches |
| 192.168.1.100 | ✓ Matches |
| 8.8.8.8 | ✗ No match |
| 172.15.0.1 | ✗ No match |
| 192.169.1.1 | ✗ No match |
Code Examples
javascript
const regex = /^(10\.\d{1,3}\.\d{1,3}\.\d{1,3}|172\.(1[6-9]|2[0-9]|3[01])\.\d{1,3}\.\d{1,3}|192\.168\.\d{1,3}\.\d{1,3})$/;
const isValid = regex.test(value);python
import re
pattern = r'^(10\.\d{1,3}\.\d{1,3}\.\d{1,3}|172\.(1[6-9]|2[0-9]|3[01])\.\d{1,3}\.\d{1,3}|192\.168\.\d{1,3}\.\d{1,3})$'
if re.match(pattern, value):
print("valid")ruby
pattern = /^(10\.\d{1,3}\.\d{1,3}\.\d{1,3}|172\.(1[6-9]|2[0-9]|3[01])\.\d{1,3}\.\d{1,3}|192\.168\.\d{1,3}\.\d{1,3})$/
if value =~ pattern
puts "valid"
endphp
if (preg_match('/^(10\.\d{1,3}\.\d{1,3}\.\d{1,3}|172\.(1[6-9]|2[0-9]|3[01])\.\d{1,3}\.\d{1,3}|192\.168\.\d{1,3}\.\d{1,3})$/', $value)) {
echo "valid";
}java
String pattern = "^(10\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}|172\\.(1[6-9]|2[0-9]|3[01])\\.\\d{1,3}\\.\\d{1,3}|192\\.168\\.\\d{1,3}\\.\\d{1,3})$";
boolean isValid = value.matches(pattern);Frequently Asked Questions
Related Regex Patterns
IPv4 Address
Validates a well-formed IPv4 address (0-255 in each octet)
IPv6 Address
Basic IPv6 address (8 groups of 4 hex digits)
MAC Address
MAC address with colons or dashes as separators
IPv4 CIDR Notation
IPv4 address with CIDR subnet mask (e.g. 10.0.0.0/24)
Localhost Detection
Detects localhost URLs (localhost, 127.0.0.1, ::1)
CIDR Notation (Generic)
Generic CIDR notation for IPv4 or IPv6 with subnet mask