-2

How can I make a function that takes a string and checks if it is a number string or if it includes letters/other characters? I have no idea what to do... RegExp takes too long so is there another way?

person
  • 111
  • 1
  • 4
    *"RegExp takes too long"* - In what sense? Regex is the obvious, simple way to do this: it would be one line of code with a short regex .... – nnnnnn Apr 09 '17 at 03:58
  • I'm not that used to RegExp , sorry. – person Apr 09 '17 at 04:04
  • I didn't know [`/^\d+$/`](http://stackoverflow.com/questions/9011524/javascript-regexp-number-only-check) was so long. – Spencer Wieczorek Apr 09 '17 at 04:06
  • 1
    Possible duplicate of [Javascript regexp number only check](http://stackoverflow.com/questions/9011524/javascript-regexp-number-only-check) / [Is there a (built-in) way in JavaScript to check if a string is a valid number?](http://stackoverflow.com/questions/175739/is-there-a-built-in-way-in-javascript-to-check-if-a-string-is-a-valid-number) – Spencer Wieczorek Apr 09 '17 at 04:08

4 Answers4

0

You have to use isNaN() function (is Not a Number). It will return you true if it's not a number (that mean that it contains letter) and false if it's one.

Source :

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/isNaN

Sorikairo
  • 798
  • 4
  • 19
0

You can check for isNaN and see if value is number if you don't want to go with RegExp.

let inpArgs = Number.parseInt(input);
if(!Number.isNaN(inpArgs)){
  // this check ensures that your input is number
  // Do what you have to do
}
else{
  // Handle the error
}

But I would prefer the one line check using RegExp any day like below.

if(/^\d+$/.test(Number(input))){
    // this says your input is Number
}
Varun G
  • 44
  • 8
0

You can use typeof oprator to check whether it is a number or string.

function(anything){
if(typeof(anything)==='number'){ //do something} }
if(typeof(anything)==='string'){ //do something} }

Hope I answer your question.

Thanks.

hardy
  • 880
  • 2
  • 13
  • 30
0

You can use typeof in JavaScript to identify input Like

alert(typeof <your input>); or var identity = typeof <your input>;

and whatever string alert that match in Condition Like

if (identity == <alert message>){do something}else{do something}