Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript angularjs的正则表达式URL验证_Javascript_Angularjs - Fatal编程技术网

Javascript angularjs的正则表达式URL验证

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]

我正在尝试为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]{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;
                    };