0

我希望 javascript 检测图像的来源并对其是否是完整的 URL 采取措施 REGEX

示例代码:

var source = 'http://test.com/';
if( [if var source starting with http:// ] ){ // Regex conditional
    // do something
}else{
    // // something
}

如何使用 Javascript 正则表达式做到这一点?

谢谢...

4

2 回答 2

1

如果您坚持使用正则表达式,那么您可以这样做:

^https?:\/\/.*$

在这里测试的 Javascript 代码:

  var re = /^https?:\/\/.*$/;
  var sourcestring = "source string to match with pattern";
  var matches = re.exec(sourcestring);
  for (var i=0; i<matches.length; i++) {
    alert("matches["+i+"] = " + matches[i]);
  }

对于您的代码:

var source = 'http://test.com/';
var pattern = /^https?:\/\/.*$/;
if(null != pattern.exec(source))
{ 
    // Regex conditional
    // do something
}
else
{
    // // something
}

但请注意,这仅检查 URL 的第一部分,这不一定意味着字符串的其余部分符合 URL。例如,您的源字符串可能类似于“http://^&#*@%.IAmABadUrl.com”,如果发送未编码,则它不是有效的 URL。
有关IETF 网站上 URL 中允许的内容的更多信息:

因此,只有字母数字、特殊字符“$-_.+!*'()”和用于其保留目的的保留字符可以在 URL 中未编码地使用。

于 2012-09-04T17:59:21.063 回答
1

为什么不使用

if(source.indexOf("http://")>-1){

//do something?
}
于 2012-09-04T17:53:56.890 回答