如何使用正则表达式在javascript中检查IP地址
任务是验证IPv4和IPv6的IP地址。我们将使用RegExp来解决这个问题。
方法1
- RegExp: 将IP地址按(点)拆分,并检查每个元素是否有效(0-255)。
示例1: 此示例使用上述方法。
<h1 style="color:green;">
GeeksforGeeks
</h1>
<p id="GFG_UP"></p>
<button onclick="GFG_Fun()">
click here
</button>
<p id="GFG_DOWN"></p>
<script>
var up = document.getElementById('GFG_UP');
var down = document.getElementById('GFG_DOWN');
var addr = '172.169.43.1';
up.innerHTML =
"Click on the button to validate the IP Address.<br>"
+ addr;
function GFG_Fun() {
down.innerHTML =
/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(addr);
}
</script>
输出:
方法2
- RegExp: 将IP地址按照冒号分隔,检查每个元素是否有效(0000-ffff)。
示例2:使用上述讨论的方法。
<h1 style="color:green;">
GeeksforGeeks
</h1>
<p id="GFG_UP"></p>
<button onclick="GFG_Fun()">
click here
</button>
<p id="GFG_DOWN"></p>
<script>
var up = document.getElementById('GFG_UP');
var down = document.getElementById('GFG_DOWN');
var addr = '2001:0db8:0000:0000:0000:ff00:0042:8329';
up.innerHTML =
"Click on the button to validate the IP Address.<br>"
+ addr;
function GFG_Fun() {
down.innerHTML =
/^[a-fA-F0-9]{1, 4}\:[a-fA-F0-9]{1, 4}\:[a-fA-F0-9]{1, 4}\:[a-fA-F0-9]{1, 4}\:[a-fA-F0-9]{1, 4}\:[a-fA-F0-9]{1, 4}\:[a-fA-F0-9]{1, 4}\:[a-fA-F0-9]{1, 4}$/.test(addr);
}
</script>
输出: