JavaScript系列之学习如何寻找一个数字

ZDNet软件频道 时间:2004-05-14 作者:Builder.com |  我要评论()
本文关键词:javatips
现在我们已经知道用户是否输入了一个字符了。但是,他们输入的是数字还是字母?大多时候,仅知道用户有输入一个字符是不够的。相反,你还需要知道他们有没有输入正确类型的数据。
本文译自Builder.com,未经许可请勿转载

现在我们已经知道用户是否输入了一个字符了。但是,他们输入的是数字还是字母?大多时候,仅知道用户有输入一个字符是不够的。相反,你还需要知道他们有没有输入正确类型的数据。

例如,你可能需要知道在信用卡号码域的字符是否确实是数字。你可以使用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;
}


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134