RegExp <- Domainname prüfen ?
Didi
- php
Hallo,
ich versuche nun mehr seit Stunden unter Zuhilfenahme des Tuts von dem regexp-evaluator eine funktionierende und vernünftige (!) RegExp-Regel zur Überprüfung von Domainnamen (sTLDs) hinzuzubekommen.
Diese soll einen Domainnamen (ohne Endung versteht sich) auf deren Gültigkeit hin überprüfen, d.h. es dürfen Zahlen und Buchstaben vorhanden sein, keine Sonderzeichen (außer den für IDN-Domains zulässige), keine Leerstellen - aber irgendwie funktioniert das überhaupt nicht so wie es soll.
Darum hoffe ich das sich hier jemand erbarmt und mir den richtigen Weg aufzeigt....
Viele Grüße
Didi
Hallo,
es dürfen Zahlen und Buchstaben vorhanden sein, keine Sonderzeichen (außer den für IDN-Domains zulässige), keine Leerstellen
Was hast du bereits ausprobiert?
Suchst du etwas wie:
/[1]+$/
Welche Sonderzeichen dürfen in „IDN-Domains“ enthalten sein?
mfg. Daniel
A-Za-z0-9. ↩︎
Hallo Daniel,
in IDN dürfen alle (auch internationale) Umlaute enthalten sein, also: á à ă â å ä ã ą ā æ ć ĉ č ċ ç ď đ é è ĕ ê ě ë ė ę ē ğ ĝ ġ ģ ĥ ħ í ì ĭ î ï ĩ į ī ı ĵ ķ ĺ ľ ļ ł ń ň ñ ņ ŋ ó ò ŏ ô ö ő õ ø ō œ ĸ ŕ ř ŗ ś ŝ š ş ť ţ ŧ ú ù ŭ û ů ü ű ũ ų ū ŵ ý ŷ ÿ ź ž ż
(Hoffe das fas jetzt richtig dargestellt wird...)
Ferner darf nur der Bindestrich/Minus "-" enthalten sein.
Die Abfrage soll feststellen, ob
a) der Domainname syntaktisch korrekt
und (eigentlich wollte ich das durch einen zweiten Ausdruck machen)
b) ob es sich hierbei um eine Umlaute (IDN) - Domain handelt.
Bisher habe ich A-Z/0-9 inkl. Groß/Kleinschreibung in meiner RegExp, aber seit dem Versuch hinsichtlich IDNs nur Chaos :-(
Viele Grüße
Didi
Nachtrag:
ich prüfe gerade mit /^\w+$/ und das scheint auch für Umlaute zu funktionieren, allerdings habe ich nun das Problem, das er Unterstriche akzeptiert und das darf er nicht - sondern nur Bindestriche...
Gruss
Didi
Hallo,
ich prüfe gerade mit /^\w+$/ und das scheint auch für Umlaute zu funktionieren
Gut. hätte ich nicht erwartet :-)
allerdings habe ich nun das Problem, das er Unterstriche akzeptiert und das darf er nicht
Das würde ich einfach mit einer kurzen String-Suche machen. Also erst den RegExp und dann eben noch mal ohne RegExp nach „_“ suchen.
sondern nur Bindestriche...
Akzeptiert er die überhaupt mit „\w“?
mfg. Daniel
Akzeptiert er die überhaupt mit „\w“?
mfg. Daniel
Hallo Daniel,
nein leider nicht - das ist mein Problem :-(
Er akzeptiert Unterstriche (die ich nicht will) und dafür keine Bindestriche (die ich will). Langsam steigt bei mir die totale Verzweiflung hoch....
Viele Grüße
Didi
Hallo,
Akzeptiert er die überhaupt mit „\w“?
nein leider nicht - das ist mein Problem :-(
Er akzeptiert Unterstriche (die ich nicht will) und dafür keine Bindestriche (die ich will). Langsam steigt bei mir die totale Verzweiflung hoch....
Vielleicht solltest du die Sache genau anders herum angehen. Suche nach Zeichen, die *nicht* enthalten sein dürfen und akzeptiere den String nur, wenn der RegExp false zurückgibt.
mfg. Daniel
Hallo Daniel,
mann, mann - da sieht man mal wieder das man den Wald vor lauter Bäumen nicht shehen kann ! Ich bin doch bl..d !
Natürlich, das dürfte die Lösung sein.
Werde mich mal dransetzten und lostüfteln.
Möchte mich aber noch herzlich für die Antworten bedanken!
Gruss
Didi
Hi!
Darum hoffe ich das sich hier jemand erbarmt und mir den richtigen Weg aufzeigt....
Poste deinen RegEx.
Dann wird vermutlich schnell jemand erkennen, was du falsch gemacht hast.
Schöner Gruß,
rob
Hi,
ich versuche nun mehr seit Stunden unter Zuhilfenahme des Tuts von dem regexp-evaluator eine funktionierende und vernünftige (!) RegExp-Regel zur Überprüfung von Domainnamen (sTLDs) hinzuzubekommen.
sponsored Top Level Domains (also sowas wie .jobs oder .travel)?
Diese soll einen Domainnamen (ohne Endung versteht sich)
Was verstehst Du bei einem Domainnamen als Endung? Die TLD?
Beißt sich irgendwie damit, daß Du sTLDs prüfen willst.
auf deren Gültigkeit hin überprüfen, d.h. es dürfen Zahlen und Buchstaben vorhanden sein, keine Sonderzeichen (außer den für IDN-Domains zulässige),
Wie willst Du auf die jeweils zulässigen Sonderzeichen prüfen, wenn Du die TLD nicht mit betrachtest?
cu,
Andreas