Heim >Web-Frontend >Front-End-Fragen und Antworten >So überprüfen Sie, ob die IP in Javascript zugänglich ist
JavaScript ist eine weit verbreitete Programmiersprache, die uns dabei helfen kann, schnell hochgradig interaktive Anwendungen auf Websites zu entwickeln. Bei der Website-Entwicklung ist die Überprüfung von IP-Adressen eine häufige Aufgabe. Sehen wir uns an, wie man JavaScript zur Überprüfung von IP-Adressen verwendet.
IPv4 ist eine gängige Art von IP-Adresse, die aus vier durch Punkte getrennten Zahlen besteht, wobei jede Zahl zwischen 0 und 255 liegt. JavaScript kann verwendet werden, um die Legitimität von IPv4-Adressen durch reguläre Ausdrücke zu überprüfen.
Das Folgende ist ein Codebeispiel, das zur Überprüfung einer IPv4-Adresse verwendet werden kann:
function validateIPv4Address(ipAddress) { var ipv4Pattern = /^(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]?)$/; return ipv4Pattern.test(ipAddress); } // 示例 console.log(validateIPv4Address('192.168.0.1')); // true console.log(validateIPv4Address('')); // false console.log(validateIPv4Address('256.168.0.1')); // false
Wir verwenden einen regulären Ausdruck, um das Format der IP-Adresse abzugleichen, und geben „true“ zurück, wenn die Übereinstimmung erfolgreich ist, andernfalls geben wir „false“ zurück. In regulären Ausdrücken verwenden wir das Pipe-Zeichen (|), um mehrere übereinstimmende Muster anzuzeigen, und das Fragezeichen (?), um anzuzeigen, dass es 0- oder 1-Symbole geben kann.
IPv6 ist eine neue Art von IP-Adresse, die aus acht durch Doppelpunkte getrennten Hexadezimalziffern besteht. Da IPv6-Adressen komplexer sind als IPv4-Adressen, müssen wir komplexere reguläre Ausdrücke verwenden, um die Legitimität von IPv6-Adressen zu überprüfen.
Hier ist ein Codebeispiel, das zur Überprüfung einer IPv6-Adresse verwendet werden kann:
function validateIPv6Address(ipAddress) { var ipv6Pattern = /^[a-fA-F0-9]{1,4}(:[a-fA-F0-9]{1,4}){7}$/; return ipv6Pattern.test(ipAddress); } // 示例 console.log(validateIPv6Address('2001:0db8:85a3:0000:0000:8a2e:0370:7334')); // true console.log(validateIPv6Address('')); // false console.log(validateIPv6Address('2001::7334')); // false
Im obigen Beispiel haben wir einen regulären Ausdruck verwendet, um die IPv6-Adresse abzugleichen. Die Zeichenklasse [a-fA-F0-9] wird in regulären Ausdrücken verwendet, um die zulässigen Zeichen darzustellen. Wir haben Doppelpunkte (:) zur Trennung von Hexadezimalziffern und geschweifte Klammern ({}) verwendet, um eine Begrenzung der Symbollänge anzuzeigen.
Manchmal müssen wir überprüfen, ob sich eine IP-Adresse in einem bestimmten IP-Segment befindet. Beispielsweise müssen wir möglicherweise den Zugriff auf unsere Website auf IP-Adressen aus bestimmten Bereichen beschränken. Das Folgende ist ein Beispielcode, mit dem ermittelt werden kann, ob sich die IP in einem bestimmten IP-Segment befindet:
function validateIpInRange(ipAddress, ipRange) { var startIp = ipRange.split('-')[0]; var endIp = ipRange.split('-')[1]; function convertIpToNumber(ipAddress) { return ipAddress.split('.').reduce(function (result, octet) { return (result << 8) + parseInt(octet, 10); }, 0) >>> 0; } var startIpNumber = convertIpToNumber(startIp); var endIpNumber = convertIpToNumber(endIp); var ipNumber = convertIpToNumber(ipAddress); return ipNumber >= startIpNumber && ipNumber <= endIpNumber; } // 示例 console.log(validateIpInRange('192.168.0.1', '192.168.0.0-192.168.0.255')); // true console.log(validateIpInRange('192.168.1.1', '192.168.0.0-192.168.0.255')); // false
Im obigen Beispiel haben wir eine Funktion „convertIpToNumber“ definiert, die zum Konvertieren der IP-Adresszeichenfolge in eine 32-Bit-Zeichenfolge verwendet wird vorzeichenlose Zahl vom Ganzzahltyp. Durch die Umwandlung von IP-Adresszeichenfolgen in Zahlen können wir die relative Größe zweier IP-Adressen vergleichen.
Wir analysieren in der Funktion gleichzeitig die Ziel-IP-Adresse, die Start-IP-Adresse und die End-IP-Adresse. Anhand dieser geparsten Zahlen können wir feststellen, ob die Ziel-IP-Adresse innerhalb eines bestimmten IP-Bereichs liegt.
Das obige ist der detaillierte Inhalt vonSo überprüfen Sie, ob die IP in Javascript zugänglich ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!