mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2024-11-25 03:06:31 -05:00
Merge pull request #548 from codimd/fix/545-urls-with-credentials
Use URL constructor instead of regex to check for valid URL
This commit is contained in:
commit
62fd5c894d
1 changed files with 4 additions and 9 deletions
|
@ -178,16 +178,11 @@ function slugifyWithUTF8 (text) {
|
|||
}
|
||||
|
||||
export function isValidURL (str) {
|
||||
const 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
|
||||
if (!pattern.test(str)) {
|
||||
try {
|
||||
const url = new URL(str)
|
||||
return ['http:', 'https:'].includes(url.protocol)
|
||||
} catch (e) {
|
||||
return false
|
||||
} else {
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue