Skip to content

Instantly share code, notes, and snippets.

View kLiHz's full-sized avatar

kLiHz kLiHz

View GitHub Profile
@kLiHz
kLiHz / IPv4.ts
Last active February 15, 2025 09:49
Validate IP address (IPv4 / IPv6) in JavaScript / TypeScript
// WARNING: These code may be incorrect and may not be production ready, so use at your own risk.
export const dotDecimalIPv4Regex = /^((25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)\.){3}(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)$/;
const dottedComponentRegex = /^((0(?:x|X)[a-fA-F0-9]+)|(0[0-7]*)|([1-9]\d*))$/;
export function isIPv4(s: string): boolean {
const decimals = s.split('.');
// https://stackoverflow.com/questions/10133820/is-there-any-documentation-for-omitting-zeroes-in-dot-decimal-notation-of-ipv4-a
// https://linux.die.net/man/3/inet_aton
@kLiHz
kLiHz / IPRegExp.ts
Last active February 15, 2025 13:40
JavaScript RegExp to match valid IPv4 / IPv6 address
const d8 = '25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d';
export const ipv4RegStr = `((${d8})\\.){3}(${d8})`
export const ipv4Matcher = new RegExp(ipv4RegStr, 'g');
export const ipv4Validator = new RegExp(`^(${ipv4RegStr})$`);
// https://stackoverflow.com/questions/14638711/regular-expression-for-ipv6-addresses
@kLiHz
kLiHz / index.html
Created March 17, 2025 04:46
HNote data v2
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>HNote Data v2</title>
</head>
<body>
<style>
body {