You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
17 lines
516 B
17 lines
516 B
// to use with <input type="url"> fields, as the default pattern only checks for `:`, |
|
export const DEFAULT_TEXTFIELD_URL_PATTERN = 'https?://.*'; |
|
|
|
export default function isValidUrl(url: string): boolean { |
|
const validProtocols = ['http:', 'https:']; |
|
|
|
try { |
|
const validationObject = new URL(url); |
|
if (validationObject.protocol === '' || validationObject.hostname === '' || !validProtocols.includes(validationObject.protocol)) { |
|
return false; |
|
} |
|
} catch(e) { |
|
return false; |
|
} |
|
|
|
return true; |
|
}
|
|
|