---
title: "En punkt, komma tack!"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/18049-en-punkt-komma-tack"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "Harback"
published: "2001-07-31T08:33:00.000Z"
updated: "2001-08-01T17:49:00.000Z"
replies: 8
views: 209
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/18049-en-punkt-komma-tack"
---

# En punkt, komma tack!

## #1 — Harback, 2001-07-31T08:33Z

Hejsan.

Jag har ett text-formulär där besökaren kan fylla i ett tal. För att förhindra att det skrivs i en massa andra saker (t.ex. bokstäver) har jag löst detta med Regular Expressions. I pattern har jag också tillåtit att besökaren kan skriva punkt och komma. Problemet ligger i att om besökaren t.ex. skriver 2 punkter, 1 punkt och ett komma osv så blir det ju förstås fel. 

Är det någon som kan lösa detta så att detta förhindras?

Permalänk: https://www.webforum.nu/p/18049

## #2 — nicclas, 2001-07-31T09:05Z

Prova att matcha mot regexpen:
"^-?\\d\*(\[\\.,\])?\\d\*(\[Ee\])?-?\\d\*$"
om du tycker tex ".5" och ",5" är ok. Vill du tvinga fram "0.5" osv välj denna:
"^-?\\d+(\[\\.,\])?\\d\*(\[Ee\])?-?\\d\*$"

Regexpen klarar också tal som "-1.23e-4" osv...

/nicclas - [www.nyhetsrubriker.com](http://www.nyhetsrubriker.com)  

\[Redigerat av nicclas den 31 jul 2001\]

Permalänk: https://www.webforum.nu/p/333951

## #3 — Harback, 2001-07-31T09:48Z

Tack nicclas! Äntligen någon som hjälper till. Ska testa det senare ikväll. Återkommer om hur det gick.

Permalänk: https://www.webforum.nu/p/333952

## #4 — Harback, 2001-07-31T14:48Z

Det funkade kanonbra efter en del pillande....slutpattern blev så här (förbjudet att skriva negativa tal i mitt fall):

```
^\d+([\.,])?\d*([Ee])?\d*$
```

Tack så mycket för hjälpen!

Permalänk: https://www.webforum.nu/p/333953

## #5 — nicclas, 2001-07-31T15:24Z

Du förbjuder dessutom tal som "1.0e-4" som ju inte är negativt ;)

Ja ja det är ju inte så vanligt att man matar in på exponent-form.

Permalänk: https://www.webforum.nu/p/333954

## #6 — Harback, 2001-08-01T05:16Z

Ajdu, det tänkte jag inte på, får ta och lägga till det. :r

Men för den delen är det nog som du säger, det är nog inte så många som kommer att skriva in så små tal...iallafall inte i mitt fall.

Permalänk: https://www.webforum.nu/p/333955

## #7 — Harback, 2001-08-01T06:15Z

Jag tänkte på en grej till. Ifall jag vill att man ska kunna skriva in bara .5 och ,5 så använder jag ju pattern: 

```
^-?\d*([\.,])?\d*([Ee])?-?\d*$
```

Men då uppkommer ytterliggare ett problem ifall någon bov skriver bara punkt eller komma. Då släpper ju pattern igenom det. Går det att lösa så att det måste iallfall vara siffror på  någon sida av punkten eller kommat?

Permalänk: https://www.webforum.nu/p/333956

## #8 — nicclas, 2001-08-01T14:45Z

Prova denna:
^-?\\d\*((\\d+\[\\.,\])&#0124;(\[\\.,\]\\d+))?\\d\*(\[Ee\])?-?\\d\*$

Nä, så här skall det nog fungera 

^-?\\d\*((\\d+\[\\.,\])&#0124;(\[\\.,\]\\d+))?\\d\*((\[Ee\])-?\\d+)?$

(i den tidigare matchas "1.34e" vilket inte är ett tal).

Usch vad jobbigt det blir om man vill vara säker på att allt är korrekt ;)

/nicclas - [www.nyhetsrubriker.com](http://www.nyhetsrubriker.com) 

\[Redigerat av nicclas den 01 aug 2001\]

Permalänk: https://www.webforum.nu/p/333957

## #9 — Harback, 2001-08-01T17:49Z

Tackar...jag modifierade ditt andra förslag lite, fixade så att det inte gick att skriva typ 5434, (eller punkt) utan någon decimal. Jag tog också bort en onödig \\d\*

Här är ditt förslag (det fetstilta tog jag bort):

```
^-?\d*((\d+[\.,])&#0124;([\.,]\d+))?[b]\d*[/b](([Ee])-?\d+)?$
```

Så här blev pattern (det fetstilta la jag till):

```
^-?\d*((\d+[\.,][b]\d+[/b])&#0124;([\.,]\d+))?(([Ee])-?\d+)?$
```

Hittar du någon bugg?

Permalänk: https://www.webforum.nu/p/333958

---

Tråden på webben: https://www.webforum.nu/amne/javascript/18049-en-punkt-komma-tack
