3

重複の可能性:
文字列が有効な URL であるかどうかを確認するのに最適な正規表現は何ですか?

私はこの検証機能を持っています:

function validate_url(url)
    {
        var pattern1= new RegExp(/^((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)$/);
        var pattern2= new RegExp(/^[A-Za-z][A-Za-z0-9]*(?:_[A-Za-z0-9]+)*[.][A-Za-z][A-Za-z0-9]*(?:_[A-Za-z0-9]+)*([.][A-Za-z][A-Za-z0-9]*(?:_[A-Za-z0-9]+)*)*$/);
        if (pattern1.test(url) || pattern2.test(url))
            return true;
        else
            return false;
    }

そして、これらのパターンの URL 検証を確認したい:

     * www.example.com
     * http://www.example.com
     * http://example.com
     * http://example.example.com
     * https://www.example.com
     * https://example.com
     * https://example.example.com
     * example.example.com
     * example.com

「.com」はオプションです。

実際、この URL をテストするまでは機能していました。

      www,google.com 

コンマを受け付けます!! 正規表現から削除しようとしましたが、まだ受け入れられます! どうしたの ?私は自分のケースに適した正規表現を大々的に探しましたが、それらは非常に巨大で、私が望むものを与えてくれませんでした。なにか提案を ?前もって感謝します

4

0 に答える 0