![]() | MSc-IT Study Material June 2010 Edition Computer Science Department, University of Cape Town |
Let us assume that only digits are permitted for the telephone number field (with no spaces, or dashes or parentheses for now). Some examples of valid telephone numbers are:
44181362500
002356487
56478303Any entry that contains non-numeric values should be considered invalid; the user should be informed of this, and the form should not be submitted.
We can create a useful function notNumeric() that returns true if an argument passed to it is not a number. To write the function we can make use of the special value returned by JavaScript when the result of an attempt to perform a numeric expression is not a number: JavaScript evaluates such expressions to the String "NaN". Our function can be written as follows:
function notNumeric( fieldString )
{
if ( String(fieldString * 1) == "NaN")
return true;
else
return false;
}
We can use this function to extend the validate() function to now only return true if the telephone number consists of digits:
function validate()
{
// at this point no invalid fields have been encountered
var fieldsValid = true;
// test field firstName
if ( isEmpty( orderform.firstName.value ) )
{
alert( "First name must have a value - form not submitted" );
fieldsValid = false;
}
// test field familyName
if ( isEmpty( orderform.familyName.value ) )
{
alert( "Family name must have a value - form not submitted" );
fieldsValid = false;
}
// test field telephone
if ( notNumeric( orderform.telephone.value ) )
{
alert( "Telephone number must consist of nothing but digits -
form not submitted" );
fieldsValid = false;
}
// return Boolean valid fields status
return fieldsValid;
}
So if a telephone number of "abc" is entered:

the browser will display the following alert window (and not post the form):
