kostenloser Webspace werbefrei: lima-city


URL validation regex pattern

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    bmarky

    bmarky hat kostenlosen Webspace.

    Hallo

    ich bin auf der Suche nach einem brauchbaren URL validation regex pattern

    Dazu habe ich hier eine Sammlung gefunden: http://mathiasbynens.be/demo/url-regex

    aber welches ist jetzt der "beste" pattern ?!


    der Spoon Library PAttern hat ja ganz brauchbare Ergebnisse,
    aber der ist ja soooooo lang, weil er jede Domain-Endung einzeln aufgelistet hat

    Welchen würdet Ihr mir empfehlen ?

    Und wie mache ich damit eine Funktion in JavaScript, die mir als Text "valid" oder "invalid" zurück gibt ?

    ich habe bisher nur sowas (ich gbaub der Pattern ist aber mist ... ?!)

    function checkUrl(url){ 
    	var pattern = /(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;
    	// var pattern = /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/;
        return url.match(pattern);
    }


    das gibt mir aber entweder die Treffer oder 'null' zurück ?!
    ... ich hätte aber gerne, das die Funktion mir als Text "valid" oder "invalid" zurück gibt

    Danke!
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. s*************h

    Dann prüfe doch vor deinem return ob eine Zahl gößer 0 drinne steht oder null (bzw. einfach else) und gib dann entsprechend deine Werte zurück. Ich würde dort dann true oder false zurückgeben und die Textausgabe extern regeln. So kannst du die Funktion flexibler nutzen.

    Zum Pattern selbst gibt dir Google sehr viele Treffer welche du mal ausprobieren kannst. Welcher gut ist oder nicht musst du entweder analysieren indem du das Pattern liest oder die Kommentare sowie die Seriösität der Seite berücksichtigst. Ich selbst habe noch kein URL-Pattern benötigt und kann dir daher leider nicht sagen welcher gut ist oder nicht.

    Gruß S. Brosch
  4. Autor dieses Themas

    bmarky

    bmarky hat kostenlosen Webspace.

    also ok, die Funktion habe ich hinbekommen

    function checkUrl(url){ 
    
    //  var pattern = /(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;
    //  var pattern = /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/;
    	var pattern = /^((http|https):\/\/)(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/
    	
    	if ( url.match(pattern) === null) { var info = 'invalide'; } else { var info = 'valide'; } 
    	
        return info;
    }

    zu Parrern
    ... ja gerade weil es ja so viele Treffer bei Suche (in Google) gibt
    habe ich gehofft, hier kann mir jemand einen empfehlen
    (bzw sagen, mit welchem er gute Erfahrungen gemacht hat)

    der es sollen auch URLs als valide gelten, die GET PAremeter (Query-String) haben
    auch wenn (bestimmte) Sonderzeichen dabei sind (z.B.: deutsche Umlaute: ä. ö, ü, etc.)
    aber nicht, wenn URL mit Port-Angabe ist

    zudem würde ich noch gerne bekannte Affili-Links / Ref-Links blockieren
    aber das wird dann wohl noch eine andere Funktion, nicht in checkUrl()

  5. Hallo :wave:

    bmarky schrieb:
    aber nicht, wenn URL mit Port-Angabe ist


    Wieso nicht?

    http://www.iem.uni-due.de:7331/

    Weiß ja nicht, was du genau machst..
    mfg :wave:
  6. Autor dieses Themas

    bmarky

    bmarky hat kostenlosen Webspace.

    hmmm, weil ich angenommen habe,
    das URLs mit Port meist irgendwelche Hacker.Seiten oder andere komische Sachen sind,
    ich kannte bisher keine URL mit Port-Angabe die für den "otto-Normal-Verbraucher" gedacht ist

    aber wie man sieht .... gibt's ja doch :oO
    ... also gut, mit Port = ok
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!