Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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 isURL函数_Javascript_Jquery_Regex - Fatal编程技术网

Javascript isURL函数

Javascript isURL函数,javascript,jquery,regex,Javascript,Jquery,Regex,我正在尝试验证我拥有的应用程序中的一些URL,并找到了一个函数来验证这些URL。我可以传递URL,如果URL根据正则表达式有效,它将返回true或false 虽然这适用于典型的日常URL,但我们需要允许通过验证的文件共享上的一些URL 我试图找到一个好的文件共享模式,它可以内置到下面的函数中,或者是一个jQuery插件,如果已经存在的话,它可以包含这个验证 alert(isURL('\\server-123.somedomain.com\path\to\file.txt')); // Retur

我正在尝试验证我拥有的应用程序中的一些URL,并找到了一个函数来验证这些URL。我可以传递URL,如果URL根据正则表达式有效,它将返回
true
false

虽然这适用于典型的日常URL,但我们需要允许通过验证的文件共享上的一些URL

我试图找到一个好的文件共享模式,它可以内置到下面的函数中,或者是一个jQuery插件,如果已经存在的话,它可以包含这个验证

alert(isURL('\\server-123.somedomain.com\path\to\file.txt')); // Returns False

function isURL(str) {
  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(str);
}
编辑:


我不需要它来匹配所示示例中的确切路径结构。我只需要一个允许文件共享的模式。我的问题是针对文件共享结构URL的,而不是建议帖子中提到的典型http/s/ftp

^(https?:\/\/)?((([a-z\d]([a-z\d-]*[a-z\d])*)\.?)+[a-z]{2,}|((\d{1,3}\.){3}\d{1,3}))(\:\d+)?(\/[-a-z\d%_.~+]*)*(\?[;&a-z\d%_.~+=-]*)?(\#[-a-z\d_]*)?$|^((\\(\\[^\s\\]+)+|([A-Za-z]:(\\)?|[A-z]:(\\[^\s\\]+)+))(\\)?)$
您可以在此处进行测试:


希望这有帮助

可能是@Haroldo_OK的重复,它只验证典型的(http/s/ftp)结构。除了文件共享
\\fileshare path\something.txt
之外,我正在寻找一个新的URL()的try-catch块,这可以作为我上述函数的另一个条件,还是只满足文件共享结构?目前,它只会验证文件共享路径。我们需要合并两者。要将您的正则表达式与我上面提供的正则表达式结合起来,您只需在中间使用|(pipe)符号即可。我已将上面的答案更新为合并正则表达式。请检查并让我知道。我尝试了一下,它似乎既没有返回
true
也没有返回
false
。我错过什么了吗?