hexo-blogger-xml
Version:
Import xml blogger to hexo
23 lines (21 loc) • 636 B
text/typescript
class url extends URL {
/**
* Is valid url ?
* @param str url string
* @see {@link https://stackoverflow.com/a/5717133}
* @returns
*/
static isValidURL(str: string) {
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(str);
}
}
export default url;