Originally Posted by
mosh
Hi There.
~s.o.s~ & Traicey Thank you , what ~s.o.s~ write is the nearest of what i want.
all i want is to know the type of data that entered by user. for example if the user input was string , then give him a message
that the type is unacceptable.
If you're taking your input from a form, it will always be of type "string".
What you probably want is to know what the string contains and if the range of characters are acceptable.
You'd want to use some
regular expression matching:
<script>
var input = prompt('give me a number');
if (input.search(/^[0-9]+$/) != -1) {
alert('i said a number !');
} else {
alert('thank you!');
}
</script>
here is docs on the
search method for strings.
The regex for checking is string is a number is: /^[0-9]+$/
This makes sure all the characters given are numbers [0-9] from start (^) to finish ($).
You can do the same for alphabetic characters: /^[a-z]+$/i
All characters are alphabetic from[ a-z] while ignoring case (/i).
Or put the two together:
/^[0-9a-z]+$/i
or add a few other allowed characters:
/^[0-9a-z_-\s]+$/i
which allows the _ character, the - character and the space character \s.
Heres an example with those put together:
var str = '24s';
if (str.search(/^[a-z]+$/i) != -1) {
alert('It is alphabetic');
} else if (str.search(/^[0-9]+$/) != -1) {
alert('It is numeric.');
} else if (str.search(/^[0-9a-z]+$/i) != -1) {
alert('It is alphanumeric.');
} else if (str.search(/^[0-9a-z\s]+$/i) != -1) {
alert('It is alphanumeric and has a space or two.. words?');
} else {
alert('unknown');
}
You can also do:
eg:
// we want a number
var input = 'hello';
if (parseInt(input) != input) {
alert('input is not a number');
}
for ints and floats..
www.fijiwebdesign.com - web design and development and fun
Cpanel Email - Let users Register email accounts on your website upon registration
Ajax Chat - Fully browser based chat!