JAVASCRIPT
Validate URLs with Regular Expressions
Implement robust URL validation in JavaScript using a regular expression to ensure proper web address formatting for user inputs and links.
function isValidURL(url) {
const urlRegex = /^(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/[a-zA-Z0-9]+\.[^\s]{2,}|[a-zA-Z0-9]+\.[^\s]{2,})$/i;
return urlRegex.test(url);
}
// Examples:
// console.log(isValidURL("https://www.example.com")); // true
// console.log(isValidURL("http://example.org/path?query=1")); // true
// console.log(isValidURL("ftp://bad.url")); // false
// console.log(isValidURL("example.com")); // true (sometimes desired)
How it works: The `isValidURL` function utilizes a comprehensive regular expression to validate various URL formats. This regex is designed to match common HTTP/HTTPS protocols, domain names (with or without `www`), and paths, providing a reliable check for web addresses in forms or content. The `i` flag makes the pattern case-insensitive. While robust, complex URL patterns can sometimes be simplified depending on specific requirements.