Javascript中验证输入参数

原创 2006年05月23日 16:13:00
Javascript的函数声明中的参数列表并不意味着什么……它们纯粹是为了方便访问这些参数而放在那里的,而并没有限制调用者怎么传参数,调用者想怎么传就怎么传,只要脚本不出错……

所有,有时候为了保证程序的健壮性,需要实现输入参数的验证和默认的输入参数。这几天学习的过程中恰好写了一些简单的解决方案,放在这里做备份。

首先是验证类型的合法性:

function validateType( obj, type) {
  if (!(obj instanceof type)) {
    throw new Error("Invalid type of the argument of " + arguments.callee.caller);
  }

  return true;
}

然后是验证参数值合法:

function validateValue(obj, vfunc) {
  validateType(vfunc, Function);  // vfunc must be Function object
  if (!vfunc(obj)) {
    throw new Error("Invalid value of the argument of " + arguments.callee.caller);
  }
}

再是默认参数,如果参数是undefined(也就是没有传参数),那么就使用指定的默认参数:

function setDefaultValue(param, defVal) {
  var undefined;
 
  if (undefined === param) {
    return defVal;
  } else {
    return param;
  }
}

OK,就这么多了。以后还可以再加,需要什么就做什么吧~
它们的用法很简单。例如函数add,假设传入的必须是正数,而且b可以不传,默认为10:

function add(a, b) {
  var adder = setDefaultValue(b, 10);

  validateType(a, Number);
  validateType(adder, Number);
  validateValue(a, function(n) {return n > 0 ? true: false;});
  validateValue(adder, function(n) {return n > 0 ? true: false;});

  return a + adder;
}

嗯,Javascript真的很有趣!

用javascript 函数判断输入的邮箱是否符合要求

js9.html --> function isEmail(){ var em...
  • csdt_csdt
  • csdt_csdt
  • 2013年09月14日 11:07
  • 1708

给js文件传递参数

其实为js文件传参是很久就接触过的一个问题,只是一直没有放在心上,今日总结一下。 解决思路: 1、首先获取到当前JS文件的SRC属性,这里有一个小技巧:我们只需要获取当前页面最后一个scri...
  • cuiwei1026522829
  • cuiwei1026522829
  • 2015年02月09日 19:09
  • 1559

flask表单验证的流程

稍微看了一下flask form的验证源码 @app.route('/form', methods=['POST', 'GET']) def form(): form = EntriesFor...
  • yj1499945
  • yj1499945
  • 2017年12月28日 14:27
  • 24

shell实例浅谈之七检测用户输入串的合法性

一、问题       Sed和AWK在处理文件方面有很强的优势,还有head和tail等文件处理工具的使用,grep也可实现文本的搜索。上述命令都可以在后面直接加文件名,不需要在前面使用cat添...
  • taiyang1987912
  • taiyang1987912
  • 2014年10月14日 18:44
  • 916

javascript验证表单输入

 //原文地址:http://blog.csdn.net/linwei_1029/article/details/6903245 [javascript] view plain...
  • xiaosong2008
  • xiaosong2008
  • 2014年09月29日 09:58
  • 481

js验证input输入框(字母,数字,符号,中文)

界面上的字段验证,是找的网上的一个js-input验证,觉得挺不错的,分享给大家,但这个验证还是有瑕疵的,就是没有对应的友好提示,可能在客户体验的那方面就不是很好了。js验证输入框内容 只能输入英文...
  • z1729734271
  • z1729734271
  • 2016年09月06日 16:16
  • 7068

通过JavaScript进行登录验证

在大部分页面的首页中,都会存在用户登录的输入框。当用户输入了个人信息后(一般为用户名和密码),页面的程序通过检索和验证,如果结果为真,则跳转到子页面,如果验证后结果为假,则提示重新输入信息。而这种验证...
  • lp_frank
  • lp_frank
  • 2015年01月28日 16:13
  • 1798

javascript基础学习-表单验证(五)

下面是一个用javascript非常简单的表单验证,亲们一起学习下吧! FormTest1 function validateData(){ if(document.form.use...
  • sidongxue2
  • sidongxue2
  • 2014年04月17日 23:35
  • 986

JavaScript表单验证

表单验证的必要性: 使用JavaScript可以十分便捷的进行表单验证,他不但能检查用户输入的无效或错误数据,还能检查用户遗漏的必选项, 从而减轻服务器端的压力,避免服务器端的信息出现错误...
  • baidu_36074048
  • baidu_36074048
  • 2017年05月03日 20:04
  • 174

利用JavaScript中的正则表达式实现常用输入框的验证

本章主要讲:通过JavaScript中正则表达式的 应用实现(http、电话号码、邮箱、数字、字母及其数字、时间日期、身份证)等的验证。 下面看例子demo的实现过程: js中字符串处理 ...
  • linzhiqiang0316
  • linzhiqiang0316
  • 2016年07月14日 17:05
  • 1611
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Javascript中验证输入参数
举报原因:
原因补充:

(最多只允许输入30个字)