用JS校验HTTP和HTTPS地址的方法

在JavaScript中,你可以使用正则表达式(RegExp)来校验HTTP和HTTPS地址。

图片[1]_用JS校验HTTP和HTTPS地址的方法_知途无界

以下是一个简单的示例,它定义了一个函数,该函数接受一个字符串作为参数,并检查该字符串是否是一个有效的HTTP或HTTPS URL:

function isValidURL(url) {  
    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(url);  
}  
  
// 测试  
console.log(isValidURL("http://www.example.com")); // true  
console.log(isValidURL("https://www.example.com")); // true  
console.log(isValidURL("ftp://www.example.com")); // false  
console.log(isValidURL("www.example.com")); // false

这个函数首先定义了一个正则表达式模式,该模式匹配HTTP和HTTPS URL的主要部分,包括协议(http或https)、域名或IP地址、端口(可选)、路径(可选)、查询字符串(可选)和片段标识符(可选)。然后,它使用RegExp.test()方法来检查输入的URL字符串是否匹配该模式。如果匹配,test()方法返回true,否则返回false

需要注意的是,这个正则表达式并不是完全严格的URL验证器。例如,它不会检查域名是否真实存在,也不会检查IP地址是否有效。如果你需要更严格的验证,你可能需要使用专门的URL解析库,或者使用更复杂的正则表达式。

另外,由于URL的规范可能会随着时间的推移而发生变化,因此建议在实际使用中定期检查并更新你的验证规则,以确保它们能够正确处理所有有效的URL。

© 版权声明
THE END
喜欢就点个赞,支持一下吧!
点赞24 分享
评论 抢沙发
头像
欢迎您留下评论!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容