Wasim A.
Wasim A.

Reputation: 9890

Javascript RegEx Exactly one Digit Pattern

str = "33d4m"; //d for days and h for hours and m for min
patt=/^[1-9]+d/i;
result=patt.test(str);
document.write("Returned value: " +  result);

I want result return true if and only if there is one digit before d, i.e;less than 10days remaining or a few hours remaining like i want return true also on

str = "23h5m"  

if two digit before d then return false
if two digit before h then return true.
Where i am going wrong.

Upvotes: 2

Views: 6338

Answers (3)

Robbie
Robbie

Reputation: 19500

You could try this:

patt=/^\d{1,2}h|^\dd/i

It means:

   Match 1 or 2 digits followed by the literal 'h' 
OR match a single digit followed by the literal 'd'

Upvotes: 4

Joseph
Joseph

Reputation: 119837

i think something like this would work:

patt=/^[1-9][dh]/i

Upvotes: 1

Dennis
Dennis

Reputation: 32598

The plus means "at least one" - remove it. You may also want to use [0-9] for all digits, but that is just a guess.

patt=/^[1-9]d/i;

Upvotes: 1

Related Questions