B
bruce
Hi. Not exactly a regex pro, but usually I know enough to get by. Here
is my problem:
I wrote a regex to edit a decimal number. you're allowed 1,2, or 3
digits before the decimal point, and 0,1,2,or 3digits after the decimal
point. Of course, you can't enter a decimal point without at least a
digit after ("5." is invalid). So here is my regex
pattern=/^\d{1,3}(\.(?=\d))\d{0,3}$/
This works fine for every case except an integer. In other words, it
tests false for entering 5, or 567.
I don't see why it tests false for integers. I'm allowing 1-3 digits
before the decimal point, then a decimal point only if the next
character is a digit (the lookahead clause), and then 0-3 digits after
the decimal point.
I've gotten around this problem with other javascript code around
the regex, but I'd just like to know why this "clean" solution doesn't
work.
Thanks for your help. This is a great group, I've learned so much
from the very knowledgable people here (including much regex stuff!)
is my problem:
I wrote a regex to edit a decimal number. you're allowed 1,2, or 3
digits before the decimal point, and 0,1,2,or 3digits after the decimal
point. Of course, you can't enter a decimal point without at least a
digit after ("5." is invalid). So here is my regex
pattern=/^\d{1,3}(\.(?=\d))\d{0,3}$/
This works fine for every case except an integer. In other words, it
tests false for entering 5, or 567.
I don't see why it tests false for integers. I'm allowing 1-3 digits
before the decimal point, then a decimal point only if the next
character is a digit (the lookahead clause), and then 0-3 digits after
the decimal point.
I've gotten around this problem with other javascript code around
the regex, but I'd just like to know why this "clean" solution doesn't
work.
Thanks for your help. This is a great group, I've learned so much
from the very knowledgable people here (including much regex stuff!)