Ankündigung

Einklappen
Keine Ankündigung bisher.

REGEX html5 pattern, input Feld überprüfen, min. 3 textblöcke getrennt von Komma

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • REGEX html5 pattern, input Feld überprüfen, min. 3 textblöcke getrennt von Komma

    Hallo ich verwende Google Places Searchbox um schnell an eine genaue Adresse zu kommen, zudem müssen Nutzer noch vom Standort aus den Radius bestimmen usw, welchen ich gut zeigen kann damit.
    Da ich nicht nochmal die Adresse durch mehrere Felder abfragen möchte, möchte ich als ungefähre Überprüfung checken ob mindestens 3 Textblöcke getrennt von Kommas im input sind.

    z.b.
    Schreibt man Berlin in die Searchbox und klickt auf das Ergebnis steht dann im Feld "Berlin, Germany" - da nur 2 Textblöcke sind, sollte das Ergebnis falsch sein.
    Hingegen wenn man "Gitschiner Straße 1, Berlin, Germany" auswählt, sollten die Pattern richtig ausspucken.

    Mir ist bewusst dass ich damit nicht erreichen kann dass die Nutzer die immer die genaue Adresse eingeben, aber zumindest stimmt der Ort dann ca.

  • #2
    Hingegen wenn man "Gitschiner Straße 1, Berlin, Germany" auswählt, sollten die Pattern falsch ausspucken.
    Du meinst "richtig"?
    The string "()()" is not palindrom but the String "())(" is.

    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
    PHP.de Wissenssammlung | Kein Support per PN

    Kommentar


    • #3
      Zitat von hausl Beitrag anzeigen

      Du meinst "richtig"?
      Ja hab mich vertan sorry, bessere ich gleich aus.

      Kommentar


      • #4
        https://regex101.com/r/5sa20t/2/tests
        The string "()()" is not palindrom but the String "())(" is.

        Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
        PHP.de Wissenssammlung | Kein Support per PN

        Kommentar


        • #5
          Vielen Dank, Hausl.
          Funktioniert perfekt !

          Kommentar


          • #6
            Ich vermute #4 war von hausl eher als Ansatz gedacht und nicht als Fertiglösung.
            Oder soll etwa so etwas wie ",,," oder "Gitschiner Straße 1, Berlin, Germany, Blödsinn" als richtig ausgewertet werden?

            Kommentar


            • #7
              jspit Wie bereits gesagt, ist es auf dieser Weise natürlich keine alternative zu mehreren Feldern mit genauer Überprüfung.
              Aber es liegt in Nutzer Interesse Ihre Adresse genau einzugeben. Wenn man nur Blödsinn rein schreibt kann man die Seite auch nicht richtig nutzen. Deren Pech.
              Mir ist nur wichtig, wenn der Nutzer seriöse Eingaben macht, dass die Angabe zumindest in 10 km Radius richtig sind und bei 3 Blöcken wird das eher zu stimmen als bei 2 ;D.

              Kommentar


              • #8
                Man kann den RegEx noch verfeinern um weitere Fälle abzudecken. Dieser Ansatz fängt zumindest die Beispiele aus #6 schon mal ab. Könnte noch weiter verfeinert werden. Will aber hier nicht weiter rumlabern, wenn dir die Lösung so ausreicht.

                Kommentar


                • #9
                  Zitat von jspit Beitrag anzeigen
                  Man kann den RegEx noch verfeinern um weitere Fälle abzudecken. Dieser Ansatz fängt zumindest die Beispiele aus #6 schon mal ab. Könnte noch weiter verfeinert werden. Will aber hier nicht weiter rumlabern, wenn dir die Lösung so ausreicht.
                  Optimieren ist immer gut, aber da es sich um places handelt ist es hier unmöglich weitere Fälle abzuchecken. Z.B. kann am Anfang ein Firmen namen kommen, würde man dann auf Straße + Nummer prüfen würde das, die Map unbrauchbar machen usw.
                  Man weis leider nicht was dabei rauskommt, weshalb ich auch mit geolocation vom Marker nochmals die Adresse ablese und diese verwende + die vom Input. Der Input ist mir deshalb auch mehr oder weniger egal, im großen und ganzen interessiert mich auch nur lat und lng. Wenn die ungefehr im 10 km Radius liegt, passt mir das gut ;D.

                  Kommentar


                  • #10
                    @hausl
                    Ups habs gerade gesehen, dass bei weiteren Blöcken, sozusagen mehr als 3 auch falsch ausspuckt.
                    Wie müsste man dein beispiel abändern damit min 3 Blöcke benötigt werden aber auch mehrere sein dürfen.

                    Kommentar


                    • #11
                      edit: gelöscht.

                      Kommentar


                      • #12

                        https://regex101.com/r/jCADMV/1/tests

                        Spiel mal damit rum.
                        The string "()()" is not palindrom but the String "())(" is.

                        Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                        PHP.de Wissenssammlung | Kein Support per PN

                        Kommentar


                        • #13
                          Zitat von hausl Beitrag anzeigen
                          https://regex101.com/r/jCADMV/2

                          Ok habs, vielen Dank nochmal.

                          Edit: Ups doch nicht =).

                          Kommentar


                          • #14
                            Schau die Tests an.. die ersten beiden matchen auch, das willst du aber doch nicht, oder? https://regex101.com/r/jCADMV/2/tests
                            The string "()()" is not palindrom but the String "())(" is.

                            Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                            PHP.de Wissenssammlung | Kein Support per PN

                            Kommentar


                            • #15
                              Bei mir hatten die auf der Homepage nicht gematcht, als ich es übertragen habe aber schon.

                              Edit: Ok habs nun endlich hinbekommen:
                              [^,]*,[^,]*,[^,]*,[^]* ODER ([^,]*,){3,}[^]*
                              Angehängte Dateien

                              Kommentar

                              Lädt...
                              X