10 lines
409 B
JavaScript
10 lines
409 B
JavaScript
export const isValidURL = (url) => {
|
|
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
|
|
return !!pattern.test(url);
|
|
};
|