我想测试我的url有效性,应该从
http://
或
http://
,
我用过这个
正则表达式
:
private testIfValidURL(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
return !!pattern.test(str);
}
这是可行的,执行一个案例:
要认为它是有效的,我的url应该总是以
http://
或
https://
,但在我的函数中,url如下
www.abcd.com
将被视为有效的网址,这对我来说是不够的。
建议?