Avatar billede decrypto Nybegynder
01. april 2006 - 19:10 Der er 13 kommentarer og
1 løsning

RegEx for Kommatal

Er der ikke een, der lige gider at sende et regex for kommatal, jeg kan ikke rigtig finde nogen uden på nettet, der virker i mit javascript.
Avatar billede arne_v Ekspert
01. april 2006 - 19:18 #1
utestet:

(\d*\.\d+)|(\d+\.\d*)

med engelsk decimal punktum og ingen support for scientific notation
Avatar billede decrypto Nybegynder
01. april 2006 - 19:32 #2
Jeg ved ikke hvorfor, men jeg får hele tiden en 'invalid character' javascriptfejl. skal '\' ikke vendes til '/'? Det ihvertfald det tegn javascript ikke kan lide.
Avatar billede arne_v Ekspert
01. april 2006 - 20:05 #3
hvis dit programmerings sprog bruger \ som escape så så skal \ fordobles:

(\\d*\\.\\d+)|(\\d+\\.\\d*)
Avatar billede Slettet bruger
01. april 2006 - 21:30 #4
(\\d+(\\.\\d+)?)

Vil den ikke passe bedre?
Avatar billede arne_v Ekspert
01. april 2006 - 21:43 #5
mit format betragter .123 som ekvivalent til 0.123
Avatar billede Slettet bruger
01. april 2006 - 21:52 #6
(\\d*(\\.\\d+)?)

Hvad med den? (Det er mig der er ved at lære - jeg irettesætter dig på ingen måde.)
Avatar billede arne_v Ekspert
01. april 2006 - 22:06 #7
mit format opfatter 123. som det samme som 123.0
Avatar billede Slettet bruger
01. april 2006 - 22:16 #8
Tak for lektionen - Jeg beklager iretesættelserne.
Avatar billede arne_v Ekspert
01. april 2006 - 23:42 #9
og grunden til at jeg ikke bruger \d*\.\d* er at . normalt ikke anses for at
være 0.0
Avatar billede arne_v Ekspert
01. april 2006 - 23:46 #10
og du behøver ikke beklage

det kan meget vel tænkes at din definition af decimal tal format matcher
spørgers bedre end min

jeg tænker bare på den måde fordi .123 og 123. opfattes som floating point
værdier i de fleste programmerings sprog

men compilere og mennesker tænker ikke ens (hvis man kan sige at en compiler tænker ...)
Avatar billede Slettet bruger
02. april 2006 - 07:33 #11
Jeg er helt med på, hvad du mener, og jeg må indrømme, at jeg - ligesom dig - opfatter .123 og 123. som floating point værdier.
Avatar billede roenving Novice
11. april 2006 - 19:14 #12
I javascript skal du definere RegExp'en enten son ny eller ved at bruge javascripts regexp-delimiters:

var x = new RegExp("^(\\d*\\.\\d+)$|^(\\d+\\.\\d*)$");

eller

var x = /^(\d*\.\d+)$|^(\d+\.\d*)$/;

-- jeg satte lige start/slut-tegn (^$) på, fordi jeg gætter på, at du vil validere indholdet af et felt !-)
Avatar billede decrypto Nybegynder
11. maj 2006 - 15:16 #13
Hvem vil have point`?
Avatar billede arne_v Ekspert
11. maj 2006 - 15:30 #14
jo tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester