Raketenbahnregulator: Regex - Worttrennzeichen

Beitrag lesen

var tval = val.replace(/\s| | |\u00A0| |\u202f| | |\u2009|´|'|\./g,"");

entferne ich alle mir bekannten Tausendertrennzeichen aus einer Zahl.

Hm. jetzt hatte ich doch geglaubt, das Problem sei gelöst… und sehe irre kompliziertes Zeug.

Zuerst wäre da die Frage, wo denn die "Zahl" (es ist ein String) herkommt?

Dann scheint die Frage auf, warum Du nicht ganz stumpf mit

var dec = str.replace( /[^0-9.]/g, '' );

alle Zeichen rausziehst, die Du in einer "Zahl" nicht erwartest. Wenn da Oktal- oder Hexadezimalmüll drin steht, dann hat sich womöglich jemand bei der Eingabe ganz gewaltig vertan. Auch hab ich noch nie eine Oktal- oder Hexadezimalzahl mit Kommastellen oder Tausendertrennzeichen gesehen…

Kommen die „Strings mit vermuteten Zahlenangaben“ etwa via Request von fremden Webseiten?

Dann sieh Dir mal das hier an:


function mkCleanNumber( s ) {
	return s.replace( /&#.*;/g, '' ).replace( /[^0-9.]/g, '' );
}

str='123\u00A0456';
console.log( str + ' : ' + mkCleanNumber( str ) );

str='123 456'
console.log( str + ' : ' + mkCleanNumber( str ) );

str='123 456';
console.log( str + ' : ' + mkCleanNumber( str ) );

Ausgaben:

123 456 : 123456
123 456 : 123456
123 456 : 123456
0 47

Regex - Worttrennzeichen

JürgenB
  • javascript
  • regex
  1. 2
    Peter
    1. 0
      JürgenB
  2. 0
    Rolf B
    1. 0
      JürgenB
  3. 0
    Raketenbahnregulator
    1. 0
      JürgenB
      1. 2
        Raketenpilotenausbilder
        1. 0
          JürgenB
          1. 0
            Raketenpilotenausbilder
          2. 0
            Der Martin
            1. 0
              JürgenB
              1. 0
                Gunnar Bittersmann
                • internationalisierung
                1. 0
                  JürgenB
          3. 0
            Gunnar Bittersmann
            • meinung
            1. 0
              Matthias Apsel
              1. 0
                Gunnar Bittersmann
                1. 0
                  JürgenB
                  1. 0
                    Gunnar Bittersmann
                    1. 0
                      JürgenB
                      1. 0
                        Gunnar Bittersmann
                        1. 0
                          JürgenB
                        2. 0
                          Rolf B
                          1. 0
                            Gunnar Bittersmann
                            1. 0
                              Rolf B
                          2. 0
                            JürgenB
    2. 0

      (Verbesserungen)

      Raketeningrid
      1. 0

        (hoffentlich) letzte Verbesserungen

        Raketeningrid
        1. 0
          Rolf B
          1. 2
            Gunnar Bittersmann
            1. 0
              Raketeningrid
              1. 0
                Gunnar Bittersmann
                1. 0
                  JürgenB
                  1. 0
                    Raketenwissenschaftler
                    1. 1
                      Mitleser 2.0
                      1. 0
                        JürgenB
                        1. 0
                          Mitleser 2.0
                          1. 0
                            JürgenB
                            1. 0
                              Raketenwissenschaftler
                              1. 0
                                Raketenbastler
                2. 0
                  Gunnar Bittersmann
          2. 0
            Raketeningrid
            1. 0
              Rolf B
              1. 0
                Raketenwissenschaftler
    3. 0
      MudGuard
      1. 0
        JürgenB
  4. 0
    JürgenB