var snumber1 = "123456789";
var scharacter2 = "abcdefgh";
there're two strings. how do i make sure snumber1 contains only numbers?? What regex??
var snumber1 = "123456789";
var scharacter2 = "abcdefgh";
there're two strings. how do i make sure snumber1 contains only numbers?? What regex??
The regex to determine if something is just numbers is this:
"^\d+$" or "^[0-9]+$"
Source: StackOverFlow 273141
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 ) );
You need this function:
isNaN(string)
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/isNaN
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" (*).
you could use parseInt
if (parseInt(snumber1) == snumber1){ alert('is a number'); }