あなたが正規表現に固執しているなら、ここに行きます:
^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 Webサイト
のURLで許可されている内容の詳細:
したがって、英数字、特殊文字 "$-_。+!*'()、"、およびそれらの予約目的で使用される予約文字のみを、URL内でエンコードせずに使用できます。