Reputation: 11557
var snumber1 = "123456789";
var scharacter2 = "abcdefgh";
there're two strings. how do i make sure snumber1 contains only numbers?? What regex??
Upvotes: 0
Views: 5123
Reputation: 11
You should use SWITCH
statements instead of IF
.
var valueA=100
switch(/^[0-9]+$/.test( valueA ))
{
case false:
alert ("'" + valueA + "'" + " Is NOT a number.Try Again");
break;
case true;
alert ("you've got numbers")
break;
}
This will return true
.
Upvotes: 1
Reputation: 14777
Regular expressions are unnecessary:
var snumber1 = "123456789",
scharacter2 = "abcdefgh";
if ( isNaN(+snumber1) ) {
alert('snumber is not a number!');
}
if ( !isNaN(+scharacter2) ) {
alert('scharacter2 is not a string!');
}
Note that I am using the +
operator to do type coercion. Doing so will always result in a number or NaN. If you use the parseInt
or parseFloat
functions you could get '10' from parseInt('010abc', 10)
. This clearly doesn't pass your test for "only numbers" (*).
Upvotes: 1
Reputation: 19482
var snumber1 = "123456789";
//built-in function
alert ( !isNaN ( snumber1 ) );
//regexp
alert ( /^[0-9]+$/.test ( snumber1 ) );
//another regexp
alert ( /^\d+$/.test ( snumber1 ) );
//convert to Number object
alert ( parseFloat ( snumber1 ) === Number ( snumber1 ) );
Upvotes: 2
Reputation: 1381
The regex to determine if something is just numbers is this:
"^\d+$" or "^[0-9]+$"
Source: StackOverFlow 273141
Upvotes: 2
Reputation: 39704
you could use parseInt
if (parseInt(snumber1) == snumber1){ alert('is a number'); }
Upvotes: 0
Reputation: 82574
You need this function:
isNaN(string)
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/isNaN
Upvotes: 1