2011-12-28 7 views
4

私はURLを検証したいと思います。 それは受け入れる必要があります。どのようにURLを検証するのですか?

http://google.com 

http://www.google.com 

www.google.com 

google.com 

を私はRegex to match URLを参照してください。

しかし、それはgoogle.comをサポートしていません。

+0

あなたはいくつかの答えで質問しました。どの正規表現を使用していますか? –

+0

@ discky-あなたの答えはTom van der Woerdtと私が推奨しているものの両方にあると思います。 Tomの提案は、「http」が欠けていて、私の提案がURLの残りの部分であることを確認する前に追加されます。唯一の問題は、「https」または「ftp」が必要な場合、ユーザーはそれを指定する必要があるため、適切な接頭辞を入力して検証することが最善の方法かもしれません。 –

+0

jQueryを使用していて、jQueryにURLの正規表現ルーチンがあります。IIRC – fge

答えて

3

もしそれがない場合は、単にhttp://の前に追加してテストしてください。

if (inputURL.substring(0,7) != 'http://' && inputURL.substring(0,8) != 'https://') { 
    inputURL = 'http://' + inputURL; 
} 

大規模なライブラリは必要ありません。何か、わずか数行のコードです。

0
function isUrl(s) { 
    var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/ 
    return regexp.test(s); 
} 
+0

質問が分かりません。 –

+2

@Tom:どのように役立つのですか? –

+0

私はこれが質問に答えないと言っているだけです。 –

0

これは、私はあなたがまだそれが正しい得ていない場合、私に教えてくださいURLを

reg = /https?:\/\/w{0,3}\w*?\.(\w*?\.)?\w{2,3}\S*|www\.(\w*?\.)?\w*?\.\w{2,3}\S*|(\w*?\.)?\w*?\.\w{2,3}[\/\?]\S*/ 
reg.test('www.google.com') # will return true 
reg.test('www.google')  # will return false 

を検証するために使用されるべきだと思うより良い方法です。

関連する問題