Hi,


Wie kan mij helpen met deze Regex

Het mogen alleen nummers zijn en als optioneel mag er ook een - teken voor.
Dit heb ik voor elkaar maar het - teken mag maar 1x voorkomen.

Dit heb ik tot nu toe maar hier is het nu nog mogelijk om dit te doen --1234

(-?)+\d{1,}



Onderstaande heb ik ook al geprobeerd

(-? {1})+\d{1,}
Hierbij:
/-?[0-9]+/

Dit is volgens mij wat je wil..

Uiteraard kun je "[0-9]" vervangen door "\d" maar zo is het duidelijker vind ik.
Misschien nog een ^ (vanaf begin) en $ (tot eind) er bij om te voorkomen dat "aaa123bbb" ook goedgekeurd wordt (voldoet aan /-?[0-9]+/)
"/^-?\\d+$/"

(en ja, ik vindt het een goed ding om jezelf de shorthands aan te leren - anders blijf je "[a-zA-Z0-9_]" schrijven ipv "\\w"; en zo zijn er dus ook "\\s" = white-space, "\\S" = alles behalve white-space, "\\D" = alles behalve een getal, enz).
(en ja, ik heb mezelf aangeleerd om in PHP altijd een dubbel backslash te gebruiken, omdat ie dan in de string als escape char gebruikt wordt, en er effectief dus gewoon een enkele staat; voorkomt dat je een keer wordt "gebeten" omdat de letter achter de backslash "iets bijzonders" in PHP betekent).

Reageren