Enkel RegExp med match()

JavaScript

1 svar · 335 visningar · startad av NoiseMaker

Medlem sedan sep. 2001171 inlägg
Trådstart#1

Tjenare!

Skulle behöva lite hjälp med att komma igång med regexpar. Först och främst, vet nån någon BRA guide där det förklaras hur man skriver själva match-mönstret? Jag hittar inget vidare bra trots nån timmas googlande.

Det jag vill göra är att validera ett formulärsfält som måste innehålla decimaltal. Det får alltså innehålla siffror samt punkt (.) för att markera decimaltalet. För att göra det hela lite värre måste man ange 2 decimaler också Ett ok värde är alltså 25.00 eller 14,90 eller liknande.

Jag kom så långt att om jag skriver [0-9]+. så är dessa tecken tillåtna. Tuvärr utesluter det inte ickenumeriska värden, nån som känner för att tipsa mig lite?

Medlem sedan dec. 20025 483 inlägg
#2

Hej!

Jag har ingen bra guide till hur mönster skrivs. En bra referens är dock http://www.jojoxx.net/jscript/ref/CoreReferenceJS15/regexp.html#1193136. Ett bra sätt att lära sig nya saker kan vara att studera andras alster. RegExLib tycks kunna vara ett ställe att hitta litet smått och gott för detta ändamål.

Angående valideringen av ditt formulärsfält:

if (!/^\d+(?:\.|,)\d{2}$/.test([i]elm.value[/i])){
  // värdet är ej på decimalform
}

Så, iväg nu och studera vad ovanstående åstadkommer ;)

249 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)