Re: Re: Re: Re: Re: baseportal und regex - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von Sander (8133 Beiträge) am Freitag, 22.Juli.2016, 16:08.
    Re: Re: Re: Re: Re: baseportal und regex

      wenn du pattern=".*20006273.*" schreibst, reicht das für alle 3 Fälle

      Vielleicht reicht das ja schon


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Jürgen (614 Beiträge) am Dienstag, 19.Juli.2016, 00:08.
    baseportal und regex

      Hi Hi,

      mich gibts noch ;-)

      Sitze gerade an einer Sache, wo ein Textfeld (textarea) überprüft werden soll.
      Das Feld wird über pattern geprüft. Heist, bei Submit des Formulars!

      Es soll eine Zeichenkette entalten... etweder am Anfang... irgendwo oder am Ende der Zeichenkette... soweit soo guuuud ;-)

      z.B. 20006273 soll vorkommen:

      regEx
      (20006273.+|.+20006273.+|.+20006273)

      Das klappt soweit ganz gut, nur wenn der Zeilenumbruch kommt - klappt das nicht mehr.

      Wo will ich hin, wir scanen Barcods mit einem Handsacaner... der macht wieder rum nach dem Scan ein Auto-Enter... und dann stimmt die übereinstimmung nicht mehr.

      Hab schon mit \r\n usw. rumprobiert... nuuu bin ich am ende mit meinem Latein o_O

      Wer hat eine Idee??? Vielen Dank für die Hilfe

      LG
      Jürgen

     Antworten

    Beitrag von Sander (8133 Beiträge) am Dienstag, 19.Juli.2016, 11:04.
    Re: baseportal und regex

      erst mal: die ganzen | kannst du dir sparen
      einfach ein /20006273/ - dann ist es egal an welcher stelle das steht

      und für zeilenumbrüche gibt es einen modifikator
      https://wiki.selfhtml.org/wiki/Perl/Reguläre_Ausdrücke#Modifiers
      . soll auch für Zeilenumbruch gelten: s

      Ich sehe zwar keinen Bedarf dafür, aber ich hab ja auch nicht den kompletten Code vor mir ;)

     Antworten

    Beitrag von Jürgen (614 Beiträge) am Dienstag, 19.Juli.2016, 16:17.
    Re: Re: baseportal und regex

      Hi Sander,

      danke schon mal ;-)

      Das klappt leider nicht mit regEx: /20006273/
      Warum... keine Ahnung????

      Schnipp...
      <form>
      <textarea pattern="(20006273.+|.+20006273.+|.+20006273)" class="form-control" cols="70" onKeyUp="countLines(this)" name="Scancode=" rows="7" tabindex="1" required="required" id="scancodes"></textarea>
      <button class="btn btn-primary btn-lg btn-block" name="submit" type="submit">
      </form>
      
      Schnapp...

      Die function onKeyUp="countLines(this) zählt meine Zeilenumbrüche. Das wird benötigt, wie viele Kartons mit dem Handscaner angeschossen wurden.

      Wie gesagt, der Handscaner löst nach dem anschießen der Barcodes immer ein Auto-Enter aus.

      Somit stimmt dann die überprüfung nicht mehr...
      Vielleicht hast noch eine Idee... Merciiiii


      LG
      Jürgen

     Antworten

    Beitrag von Sander (8133 Beiträge) am Dienstag, 19.Juli.2016, 21:05.
    Re: Re: Re: baseportal und regex

      hab mir schon gedacht, dass es nicht auf perl hinauslaufen wird. ;)
      zeig mal das javascript dazu.

     Antworten

    Beitrag von Jürgen (614 Beiträge) am Mittwoch, 20.Juli.2016, 09:26.
    Re: Re: Re: Re: baseportal und regex

      Hi Sander,

      stimmt ... um das Form gehts da.... aaaber der Rest wird natürlich mit Perl/baseportal gemacht :-))))Klappt wunderbar ;-)

      Form <head>
      <script type="text/javascript">
      function countLines(theArea){
      var theLines = theArea.value.replace((new RegExp(".{"+theArea.cols+"}","g")),"\n").split("\n");
      if(theLines[theLines.length-1]=="") theLines.length--;
      theArea.form.lineCount.value = theLines.length;
      theArea.form.replace(/\r|\n/g, ""); 
      }
      </script>
      </head>
      

      <body>
      <!-- wird unterhalb Form eingetragen -->
      <script>
      $('#scancodes').keyup(validateTextarea);
      function validateTextarea() {
              var errorMsg = "Ein oder mehrere Scancodes stimmen nicht mit der Spedition ueberein!!!";
              var textarea = this;
              var pattern = new RegExp('^' + $(textarea).attr('pattern') + '$');
              // check each line of text
              $.each($(this).val().split("\n"), function () {
                  // check if the line matches the pattern
                  var hasError = !this.match(pattern);
                  if (typeof textarea.setCustomValidity === 'function') {
                      textarea.setCustomValidity(hasError ? errorMsg : '');
                  } else {
                      // Not supported by the browser, fallback to manual error display...
                      $(textarea).toggleClass('error', !!hasError);
                      $(textarea).toggleClass('ok', !hasError);
                      if (hasError) {
                          $(textarea).attr('title', errorMsg);
                      } else {
                          $(textarea).removeAttr('title');
                      }
                  }
                  return !hasError;
              });
          }
      </script>
      


      Gruß
      Jürgen

     Antworten

    Beitrag von Sander (8133 Beiträge) am Freitag, 22.Juli.2016, 16:08.
    Re: Re: Re: Re: Re: baseportal und regex

      wenn du pattern=".*20006273.*" schreibst, reicht das für alle 3 Fälle

      Vielleicht reicht das ja schon

     Antworten

    Beitrag von Jürgen (614 Beiträge) am Mittwoch, 20.Juli.2016, 16:36.
    Re: Re: Re: Re: baseportal und regex

      Hi Sander,

      hast noch eine Idee mit dem regEx und Zeilenumbruch??
      Das Script hab ich dir eingestellt.

      LG
      Jürgen

     Antworten


     
 Liste der Einträge von 1200 bis 1350:Einklappen Zur Eingabe 
Neueste Einträge << 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.09s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!