20

使い方

Web サイトの URL を入力するための入力フィールドがあり、それを確認したいのですが、URL に問題がない場合は、入力フィールドにクラス ("validated_ok") を指定し、クラス ("cf_required") を削除します。道の周りに。

問題

URLは、で書かれていれば正しいはずですがhttp://、実際にはwwwwww.google.ch)だけでも正しいです。どのように正規表現を変更する必要がありますか?

Javascript

// CHECK WEBSITE
$(".cf_required[name='website']").focusout(function() {
    var myVariable = $(this).val();
    if(/^(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/|www\.)[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/.test(myVariable)){
        $(this).addClass("validated_ok").removeClass("cf_required")
    } else {
        $(this).removeClass("validated_ok").addClass("cf_required");
    }
});
4

5 に答える 5

36

|www\.?を削除します。

^(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$
于 2013-09-02T08:00:42.500 に答える
3

http(s) が必要になるように正規表現を変更するだけです

/^http(s)?:\/\/(www\.)?[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/.test('www.google.com')
于 2013-09-02T08:01:52.227 に答える
0

これはうまくいきます:

(?<Protocol>\w+):\/\/(?<Domain>[\w@][\w.:@]+)\/?[\w\.?=%&=\-@/$,]*

それがあなたを助けることを願っています

于 2013-10-12T08:38:17.937 に答える
0

より短い方法:

(\w*\W*)?\w*(\.(\w)+)+(\W\d+)?(\/\w*(\W*\w)*)*

この素晴らしい正規表現エディターでテストできます: https://regex101.com/

于 2016-01-16T16:51:06.120 に答える