kostenloser Webspace werbefrei: lima-city


preg_match Muster erstellen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    markus7794

    markus7794 hat kostenlosen Webspace.

    Hallo zusammen,
    ich kenne mich mit preg_match mustern nicht aus und finde auch im internet nichts. Wäre nett wenn ihr mir helfen könntet. Ich brauche ein Muster für einen Nickname, ein Passwort und eine E-Mail-Adresse

    Nickname: zwischen 3 und 15 Zeichen, kann Sonderzeichen und Zahlen enthalten, muss aber nicht
    Passwort: zwischen 5 und 10 Zeichen, kann Sonderzeichen und Zahlen enthalten, muss aber nicht
    E-Mail-Adresse: eine normale E-Mail-Adresse

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

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

  3. Das Stichwort ist Regulärer Ausdruck:
    Wiki: http://tinyurl.com/354uffv

    Hier auch noch ein ganz nettes Tutorial:
    http://www.danielfett.de/internet-und-opensource,artikel,regulaere-ausdruecke


    Bei mir checke ich username zB so:

    function checkUsername(objID) {
      var content = $(objID).value;  
      if(content.match("[^A-Za-z0-9]") || content == "") {
    	return "Der Benutzername darf nur Buchstaben und Zahlen enthalten!";
      } else if (!checkUsernameAvailable(content)){
        return "Der Benutzername ist bereits vergeben!";
      } else {
    	return null;  
      }  
    }


    Die Funktion checkUsername() bekommt eine ObjetkID von einem Inputfeld in einem HTML-Formular und liest dieses über $(objID).value aus (hierzu brauchst du das prototype framework damit du die $()-Funktion verwenden kannst, ansonsten einfach getElementById(id) verwenden).

    Dann wird der reguläre Ausdruck verwendet, und nach Zeichen gesucht, die nicht dem Muster entsprechen. Das Muster ist [A-Za-z-0-9], soll heißen es dürfen nur große oder kleine Buchstaben und Zahlen enthalten sein. Das "^" sagt, dass hier nach Zeichen gesucht werden soll, die NICHT diesem Muster entsprechen. Wird ein solches Zeichen gefunden wird der Username verworfen.

    Danach wird dann noch geprüft ob der Benutzername verfügbar ist, das is aber eine andere Geschichte.

    Die Länge des Strings kannst du auch direkt imt Javascript prüfen.

    Beitrag zuletzt geändert: 21.12.2010 13:05:32 von beachteam
  4. da du ja einfache Angaben gemacht hast, was geprüft werden soll, hier die Auflösung:
    Nickname: /^.{3,15}$/
    Passwort: /^.{5,10}$/
      E-Mail: /^.+@.+\.\w{2,4}$/
    Die E-Mail ist ziemlich unsauber, reicht aber für den allgemeinen Bedarf aus, das Problem ist nähmlich, das eine E-Mail diverse Strukturen haben kann und man eigentlich nur prüfen kann, ob ein @ darin vorkommt. Aber aufgrund des Zielpublikums kann man die Validierung meistens etwas genauer spezifizieren, aber eine wirkliche Sicherheit erhält man nur, wenn man dem User eine Bestätigungsmail sendet, denn wenn diese beantwortet wird, weiß man zumindest das die Adresse valide war.

    Mit freundlichen Grüßen
  5. Nickname: Hier lieber keine ernsthaften Sonderzeichen erlauben, damit wirst du nur Probleme bekommen. Daher: /^[-_A-Za-z0-9]{3,15}$/
    Passwort: Alles erlauben ist eine gute Lösung, aber in der Länge nicht schon auf 15 Zeichen beschränken (damit schließt du ja die sicheren Passwörter aus ^^). Daher: /^.{5,}$/
    Email: Hier bietet sich ein sehr einfacher und flexibler Syntaxcheck und ein anschließendes checkdnsrr an. (Und wenn dein Dienst größer wird dann eien Bestätigungsmail.) Für den Syntaxcheck würde ich die filter_var Funktion nutzen. Wenn du damit die Emails validierst wirst du recht sicher niemanden ausschleißen ;)
  6. Wenn du die genaue Definition einer Validen Email Adresse haben willst kannst du noch unter http://de.wikipedia.org/wiki/E-Mail-Adresse nachlesen.

    Aber wie nemoinho schon gesagt hat reicht eine einfache Definition meist aus.
  7. Autor dieses Themas

    markus7794

    markus7794 hat kostenlosen Webspace.

    Vielen dank Leute! Alles ist so wie ich es haben wollte!
  8. 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!