• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] mit JS string auf URL prüfen

hanssonny

New member
hi leute,

ich möchte gerne einen string prüfen ob es sich um eine url handelt.

ich habe es mit folgender regexp versucht:

Code:
function isURL(text){
    var expression = /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/;
    var regex = new RegExp(expression);
    if(text.match(regex)){
        return true;
    } else {
        return false;
    }
}


nur jetzt ist es so dass wenn ich Google übergebe klappt es ... wenn ich Google übergeb schnallt chrome ab und zeigt nur noch einen traurigen smiley :(

jemand ne ideE?
 
nur jetzt ist es so dass wenn ich Google übergebe klappt es ... wenn ich Google übergeb schnallt chrome ab und zeigt nur noch einen traurigen smiley
:confused: Was ist der Unterschied???
Deine RegEx macht übrigens irgendwie auch wenig Sinn - so wird z.B. "example.com" als korrekte URL gewertet...

Eine korrekte Regex wäre z.B.
Code:
var regex = new RegExp("^(http[s]?:\\/\\/(www\\.)?|ftp:\\/\\/(www\\.)?|www\\.){1}([0-9A-Za-z-\\.@:%_\+~#=]+)+((\\.[a-zA-Z]{2,3})+)(/(.)*)?(\\?(.)*)?");
testen: JavaScript RegEx für URL
 
Zuletzt bearbeitet:
sorry der unterschied war mit http:// oder nur www.

www. geht http:// nicht ..


beim neuen von dir führt http:// zwar nicht mehr zum abstürtzen von chrome aber es wirda uch nicht ausgegeben
 
@Julian: Ein paar Bemerkungen zur RegExp:
  • Warum hast du die ganzen "www." Teile in die RegExp eingebaut? Wenn die Protokolle fehlen, kann ich's ja noch verstehen, aber mit Protokoll ist es doch total egal, wie die Subdomain heißt...
  • Das {1} überflüssig.
  • Es gibt TLD mit mehr als 3 Buchstaben (z.B. .mobil oder .berlin)
  • Umlautdomains werden nicht behandelt
  • ein "-" in einem [...] sollte immer maskiert werden, wenn es das Zeichen "-" matchen soll.
 
@Julian: Ein paar Bemerkungen zur RegExp:
  • Warum hast du die ganzen "www." Teile in die RegExp eingebaut? Wenn die Protokolle fehlen, kann ich's ja noch verstehen, aber mit Protokoll ist es doch total egal, wie die Subdomain heißt...
  • Das {1} überflüssig.
  • ein "-" in einem [...] sollte immer maskiert werden, wenn es das Zeichen "-" matchen soll.
Ja, stimmt. Hatte das schnell von Stackoverflow übernommen, deswegen...
 
Zurück
Oben