现在我们已经知道用户是否输入了一个字符了。但是,他们输入的是数字还是字母?大多时候,仅知道用户有输入一个字符是不够的。相反,你还需要知道他们有没有输入正确类型的数据。
例如,你可能需要知道在信用卡号码域的字符是否确实是数字。你可以使用JavaScript 的函数parseInt、parseFloat 和isNaN 来执行这种有效性检查。但是这些函数只检查输入值的第一位数。下面的例子将给出如何创建一个能进行更完整的有效性检查的函数。
让我们先建立一个称为isANumber的新函数:
function
isANumber(number, message) {
answer = 1;
首先,我们检查并确认输入的值是以某个数字开始。倘若如此,我们即将 answer 变量设为1,然后继续下一步骤。
if
(!parseFloat(number)) {
//the first digit
wasn't numeric
answer = 0;
alert("Please
enter a numeric value for the " + message + " field.");
}
如果JavaScript 函数parseFloat() 不返回true (即表示用户没有输入数字),那么该函数显示一个警告信息给用户该有多好啊。假如第一位是数字,函数就会继续运行。
else
{
//the first digit was
numeric, so check the rest
for (var i=0;
i<number.length; i++) {
if ((number.charAt(i) != "0")
&& (!parseFloat(number.charAt(i)))) {
answer = 0;
alert("Please enter a numeric value for the " + message +
" field.");
break;
}
}
}
return answer;
}