代码拉取完成,页面将自动刷新
这是一个非常迷你的数据验证器,至于迷你到那种程度,就不形容了,一看便知!
{
'number': '$0只能是数字',
'chinese': '$0只能是中文',
'email': '$0格式不正确',
'idcard': '$0格式不正确',
'phone': '$0格式不正确',
'require': '$0不能为空',
'length': '$0长度只能是$1到$2个字符',
'min': '$0至少$1个字符',
'max': '$0不能超过$1个字符',
'eq': '$0只能是$1',
'neq': '$0不能为$1',
'gt': '$0不能小于$1',
'lt': '$0不能大于$1',
'between': '$0值只能在$1到$2之间',
'in': '$0只能取$n',
}
直接在规则中写上"@+名称"即可 举个栗子,不加@
{'name':'require!必须写$0'}
//必须写name
加上之后
{'name':'@姓名|require!必须写$0'}
//必须写姓名
在规则名称后面加上“!”则为该条规则的自定义消息
$0
为字段名称
$1
..$n
依次为后面的参数
$n
直接显示为参数(逗号隔开)
:1
表示该参数为一个字段
例如'confirm': '$0与:1不一致'
其中:1
将替换为字段名而不是参数
{'name':'@姓名|require!必须写$0'}
//输出 必须写姓名
先引入
<script src='Validate.js'></script>
然后直接使用
/**
* 检查数据
* @param rule 单或多条规则
* @param field 要检查的数据
* @param all 是否返回全部错误
* @return 检查通过返回true 失败返回 错误消息或错误消息集合
*/
Validate.check(rule,field,all);
/**
* 添加或修改规则
* @param name 规则名称
* @param rule 规则内容(函数或正则)
* @param msg 消息
* @return this
*/
Validate.rule(name,rule,msg);
var rule = {
'name':'@姓名|require|chinese',
'idcard':'@身份证号码|require|idcard',
'type':'@类型|require|in:0,1',
'qq':'@QQ号码|require|number',
'email':'@电子邮箱|require|email',
'password':'@密码|require|len:6,10',
'password2':'@确认密码|confirm:password!确认密码不一致',
'like':'@喜欢的数字|require|in:0,1,2,3,4,5,6'
},data = {
'name':'nullfeng',
'idcard':'50023619951105256a',
'type':0,
'qq':'',
'email':'nullfeng(at)163.com',
'password':'123123',
'password2':'456456',
'like': '8'
};
/**
* 验证全部的错误
*/
var result = Validate.check(rule,data,true);
console.log(result);
//output:
/*{
email:"电子邮箱格式不正确"
idcard:"身份证号码格式不正确"
like:"喜欢的数字只能取0,1,2,3,4,5,6"
name:"姓名只能是中文"
password2:"确认密码不一致"
qq:"QQ号码不能为空"
}*/
/**
* 验证单个错误
*/
result = Validate.check('@昵称|chinese','nullfeng');
console.log(result);
// output: 昵称只能是中文
//增加一个只能是指定值的规则
Validate.rule('diy_rule',function(v,m){
//this.data 获取要验证的数据 如 this.field['username']
//this.test 执行已有的验证规则 如 this.test.eq('2',2);
return v==m;
},'$0 只能是$1');
//使用
var test = '23';
var result = Validate.check(test,'@测试变量|diy_rule:24');
console.log(result);
//输出:测试变量 只能是24
//增加一个只能是5开头的规则
Validate.add('diy_rule',/^5\w+/,'$0 只能是5开头哦');
//使用
var test = 'abcd';
var result = Validate.check(test,'@测试变量|diy_rule');
console.log(result);
//输出:测试变量 只能是5开头哦
验证通过返回真true,失败直接返回错误消息
var result = Validate.check(...);
if(result!==true){
//验证不通过
alert(result);
}
20180621
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型