表单 验证,手机 ,QQ,电子邮箱,数字,邮政编码,身份证,手机号 & 电话
好吧写一个自己的表单验证,临时的。
后面还更新:现在依赖jq
//表单验证
function testInput(o,attr,yfn,nfn,run){
var re = {
\'age\' :/^[^0]\d{0,2}$/,
\'null\' :/\s/,
\'qq\' : /^[1-9][0-9]{4,9}$/, //QQ
\'email\' : /^\w+@[a-z0-9]+(\.[a-z]+){1,3}$/, //电子邮箱
\'number\': /^\d+$/, //数字
\'mail\' :/^[1-9]\d{5}$/, //邮政编码
\'id\' :/^[1-9]\d{14}|[1-9]\d{17}|[1-9]\d{16}x$/, //身份证
\'call\' :/(^(\d{3,4}-)?\d{7,8})$|(1[3,4,5,8][0-9]{9})/ //手机号 & 电话
};
function fyes(){
o.removeClass(\'no_verify\');
if(yfn)yfn()
return o.val();
}
function fno(){
o.addClass(\'no_verify\');
if(nfn)nfn()
console.log(\'错误信息:\'+attr)
return false;
}
function go(){
if(attr && typeof attr !=\'number\'){
if(o.val() && re[attr].test(o.val())){
return fyes()
}else{
return fno()
}
}else if(attr && typeof attr ==\'number\'){
if(o.val().length>attr){
return fyes()
}else{
return fno()
}
}else if(!attr){
if(o.val()){
return fyes()
}else{
return fno()
}
}
};
if(run){ return go() } //run=true 验证一下表单
o.blur(go);
};
试用方法 ://testInput( JQ对象 , \'验证属性 || 不传值验证表单不为空 || 数字 验证字节不少于这个数\' , \'验证成功fn\' , \'失败fn\' , 要不要自执行)
(最后一个值为 false :验证成功返回值,不成功会返回false; 这里还会对表单加一个class样式:no_verify)
var f2=testInput($(\'#phone\'), \'call\',\'\',\'\',false) //验证是不是电话或手机
var f5=testInput($(\'#userName\'), \'\',\'\',\'\',false) //表单不为空
var f12=testInput($(\'#reason\'),20,\'\',\'\',false) //表单不小于20个