diff --git a/ui/src/utils.ts b/ui/src/utils.ts index cf290882..350a8205 100644 --- a/ui/src/utils.ts +++ b/ui/src/utils.ts @@ -116,13 +116,11 @@ export function isVideo(url: string) { } export function validURL(str: string) { - var pattern = new RegExp('^(https?:\\/\\/)?'+ // protocol - '((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|'+ // domain name - '((\\d{1,3}\\.){3}\\d{1,3}))'+ // OR ip (v4) address - '(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*'+ // port and path - '(\\?[;&a-z\\d%_.~+=-]*)?'+ // query string - '(\\#[-a-z\\d_]*)?$','i'); // fragment locator - return !!pattern.test(str); + try { + return !!new URL(str); + } catch { + return false; + } } export function capitalizeFirstLetter(str: string): string {