JAVASCRIPT
Validating URLs with Regex
Implement a JavaScript function to validate web URLs, checking for common protocols (http/https), domain names, and optional paths or query parameters.
function isValidURL(url) {
const urlRegex = /^(https?:\/\/)?([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.[a-zA-Z]{2,}(\/[a-zA-Z0-9-._~:/?#\[\]@!$&'()*+,;=]*)?$/i;
return urlRegex.test(url);
}
// Example Usage:
console.log(isValidURL("https://www.example.com/path?query=1")); // true
console.log(isValidURL("ftp://bad-url")); // false
console.log(isValidURL("example.com")); // true (handles bare domains too)
How it works: This JavaScript snippet provides a `isValidURL` function that uses a comprehensive regular expression to validate various URL formats. It supports `http://` or `https://` protocols, optional subdomains, domain names, and includes checks for valid top-level domains, along with an optional path or query string, making it versatile for web input validation.