6

regular expression以下のコードを使用して、jQuery で URL を検証しようとしています。とで正常に動作していhttp://wwwますhttps://www

var myVariable = "http://www.example.com/2013/05/test-page-url-512-518.html";

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)){
    alert("valid url");
} else {
    alert("invalid url");
}

編集:-

上記のコードは、URL を検証するために完全に機能します。その時の私の要件は、検証http://wwwと検証のみでした。https://www

4

5 に答える 5

2

URL を検証したい場合:

この関数に URL を渡すと、true または false が返されます。

関数 :

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

isUrl(yourURL);
</script>
于 2013-09-12T09:21:51.413 に答える
2

正規表現を変更できます。実際には、アイテムの繰り返しがあります。http:\/\/|https:\/\/|www\.

このコードはうまくいきます:

var myVariable = "http://www.example.com/2013/05/test-page-url-512-518.html";

if(/^(http:\/\/www\.|https:\/\/www\.)[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/.test(myVariable)){
    alert("valid url");
} else {
    alert("invalid url");
}
于 2013-05-14T07:52:20.103 に答える