I want to write a regular expression using javascript or jquery to allow comma delimited list of numbers OR space delimited numbers OR comma followed by a space delimited numbers OR a combination of any of the above ex anything that is not a digit, space or comma must be rejected
SHOULD PASS 111,222,333 111 222 333 111, 222, 333 111,222,333 444 555 666, 111, 222, 333,
should NOT pass: 111,222,3a 3a 111 222 3a etc etc
I tried the code below they seemed to work however when I typed 3a as a number, it PASSED!!! How? I cannot understand how my code allowed that letter to pass.
I want to reject anything that is not a space, comma or digit
or is there a better way to do this without regular expressions? I looked in google and did not find any answer.
Thank you in advance for any help.
var isNumeric = /[\d]+([\s]?[,]?[\d])*/.test(userInput);
var isNumeric = /^[\d\s,]*/.test(userInput);
var isNumeric = /^[\d]*[\s,]*/.test(userInput);
var isNumeric = /^[\d\s,]*/.test(userInput);
var isNumeric = /\d+\s*,*/.test(userInput);
if (isNumeric == false) {
alert(isNumeric);
return false;
}
else
alert('is Numeric!!!');
[\d]
is exactly the same as just\d
without the[]
– Lederhosen$
at the end of the regular expression, which means that the matched pattern may be followed by any subsequent characters. – Lederhosen