Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Regular expression to allow comma and space delimited number list

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!!!');
like image 643
javafun Avatar asked Jul 04 '13 14:07

javafun


2 Answers

Would the regular expression ^[\d,\s]+$ not do the trick?

like image 184
Grim... Avatar answered Oct 05 '22 08:10

Grim...


Try this Regex... Click to view your demo

^[0-9 _ ,]*$
like image 41
Ganesh Rengarajan Avatar answered Oct 05 '22 09:10

Ganesh Rengarajan