使用HTML(Java Script)编程: 创建自定义函数判断某从表单输入的字符串是否是合法的IP地址

使用HTML(Java Script)编程:
创建自定义函数判断某从表单输入的字符串是否是合法的IP地址,用if条件判断。
合法的P地址符合这样的特征:
202.115.12.4,即由圆点.分割为四个部分,每个部分均为数字,大于等于0且小于等于255。

用if条件判断,但我写的很奇怪,我原来在PHP上写的用了list但在html上不知道怎么改


<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>判断IP地址的合法性</title>
  <script type="text/javascript">
    function isValidIP(ip) {
      var parts = ip.split('.');
      if (parts.length !== 4) {
        return false;
      }
      for (var i = 0; i < parts.length; i++) {
        var part = parseInt(parts[i]);
        if (isNaN(part) || part < 0 || part > 255) {
          return false;
        }
      }
      return true;
    }
    function checkIP() {
      var ip = document.getElementById('ip').value;
      if (isValidIP(ip)) {
        alert('IP地址合法');
      } else {
        alert('IP地址不合法');
      }
    }
  </script>
</head>
<body>
  <label for="ip">请输入IP地址:</label>
  <input type="text" id="ip" name="ip" placeholder="例如:202.115.12.4">
  <button type="button" onclick="checkIP()">检查IP地址</button>
</body>
</html>
      // 判断字符串是否是合法ip
     let reg = /^((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)$/g
      let ip = '20.20.20.20'
      if (reg.test(ip)) {
        console.log('合法ip')
      } else {
        console.log('不合法ip')
      }

使用split根据原点分隔一下,再循环判断就行了呀

  function checkIP() {
            var ip = document.getElementById("ip").value;
            var parts = ip.trim().split(".");
            if (parts.length !== 4) {
                alert("请输入正确的IP地址");
                return false;
            }
            for (var i = 0; i < 4; i++) {
                var part = parseInt(parts[i]);
                if (isNaN(part) || part < 0 || part > 255) {
                   alert("请输入正确的IP地址")
                    return false;
                }
            }
            alert("IP地址合法");
        }