Javascript angularjs的正则表达式URL验证
我正在尝试为URL创建验证,它将接受以下情况 有无HTTP或https、有无www、有无子页面Javascript angularjs的正则表达式URL验证,javascript,angularjs,Javascript,Angularjs,我正在尝试为URL创建验证,它将接受以下情况 有无HTTP或https、有无www、有无子页面 http://website.com https://website.com http://website.com/ http://www.website.com website.com http://website.com/page/id/sdf 我尝试了以下方法,但并没有涵盖上述所有情况 $scope.urlPattern = '^(([a-z]+[.])?[a-z0-9-]+([.][a-z]
http://website.com
https://website.com
http://website.com/
http://www.website.com
website.com
http://website.com/page/id/sdf
我尝试了以下方法,但并没有涵盖上述所有情况
$scope.urlPattern = '^(([a-z]+[.])?[a-z0-9-]+([.][a-z]{1,4}){1,2}(/.*[?].*)?$'
$scope.urlPattern = '^((https?|ftp)://)?([a-z]+[.])?[a-z0-9-]+([.][a-z]{1,4}){1,2}(/.*[?].*)?$'
我没有添加评论的权限,因此我仅为我的答案进行编辑。下面的链接提供了所有类型的URL验证,希望对您有所帮助:
如果您只想验证url,实际上不需要考虑“www”条件(因为它包含在其他条件中) 可以这样做一些简单的事情:
“^(https?:\/\/)*[a-z0-9-]+(\.[a-z0-9-]+)+(\/[a-z0-9-]+)*\/?$”
JSFiddle:
var result=url.match(/(http(s)?://)?(www.)?[-a-zA-Z0-9:%.+~+=]{2256}.[a-z]{2,6}\b([-a-zA-Z0-9:%+.~+&/=]*])/g)
考虑<代码> m <代码>标志多行搜索,您可以使用最终的
if (result == null) {
return false;
}
return true;
};