webForumDet fria alternativet

Enkel RegExp med match()

JavaScript

1 svar · 331 visningar · startad av NoiseMaker

Medlem sedan sep. 2001171 inlägg
Frågan#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 ;)

373 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
245 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
245 ms — ändringar (db)