javascript 用面向对象自写前端验证工具
2014-04-23 17:12
387 查看
此验证工具需要自少传入两个dom对象 (验证input对象,错误消息显示位置对象)
也可以传入三个参数(验证input对象,错误消息显示位置对象,自定义错误消息)
也可以传入四个参数(验证input对象,错误消息显示位置对象,自定义验证正则表达式,自定义错误消息)
使用例子:
也可以传入三个参数(验证input对象,错误消息显示位置对象,自定义错误消息)
也可以传入四个参数(验证input对象,错误消息显示位置对象,自定义验证正则表达式,自定义错误消息)
function Validata(){ var regName=/^[a-zA-Z]{4,6}$/; var errorName="帐号4~6之间"; var regIphone=/^1[358]\d{9}$/; var errorIphone="手机号码不正确"; var regEmail=/^[a-zA-Z0-9]+@[a-zA-Z0-9]+\.(com|cn)$/; var errorEmail="邮箱不正确"; var regAddress=/^[\u4E00-\u9FA5]{4,8}$/; var errorAddress="地址需要在四位到八位"; if(!(Validata.iname)){ Validata.prototype.name=function(oObj,oP,sReg,sError){ if(sReg){ if(typeof(sReg)=="string"){ errorName=sReg; }else{ regName=sReg; } } if(sError){ errorName=sError; } if(!(regName.test(oObj.value))){ oP.innerHTML=errorName; Validata.iname="ss"; return true; } } Validata.iname="ss"; } if(!(Validata.iIphone)){ Validata.prototype.iphone=function(oObj,oP,sReg,sError){ if(sReg){ if(typeof(sReg)=="string"){ errorIphone=sReg; }else{ regIphone=sReg; } } if(sError){ errorIphone=sError; } if(!(regIphone.test(oObj.value))){ oP.innerHTML=errorIphone; Validata.iIphone="ss"; return true; } } Validata.iIphone="ss"; } if(!(Validata.iEmail)){ Validata.prototype.email=function(oObj,oP,sReg,sError){ if(sReg){ if(typeof(sReg)=="string"){ errorEmail=sReg; }else{ regEmail=sReg; } } if(sError){ errorEmail=sError; } if(!(regEmail.test(oObj.value))){ oP.innerHTML=errorEmail; Validata.iEmail="ss"; return true; } } Validata.iEmail="ss"; } if(!(Validata.iAddress)){ Validata.prototype.address=function(oObj,oP,sReg,sError){ if(sReg){ if(typeof(sReg)=="string"){ errorAddress=sReg; }else{ regAddress=sReg; } } if(sError){ errorAddress=sError; } if(!(regAddress.test(oObj.value))){ oP.innerHTML=errorAddress; Validata.iAddress="ss"; return true; } } Validata.iAddress="ss"; } }
使用例子:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'validata.jsp' starting page</title>
<script type="text/javascript">
window.onload=function(){
var oForm=document.getElementById("f1");
var aP=document.getElementsByTagName("p");
var va= new Validata();
oForm.onsubmit=function(){
var op=document.getElementById("0");
if(va.name(op,aP[0],/^[A-Z]{3,4}$/,"hhhhhhhhhhhhhhhhh")){
return false;
}
var op=document.getElementById("1");
if(va.email(op,aP[1])){
return false;
}
var op=document.getElementById("2");
if(va.iphone(op,aP[2])){
return false;
}
var op=document.getElementById("3");
if(va.address(op,aP[3])){
return false;
}
return true;
}
}
function Validata(){ var regName=/^[a-zA-Z]{4,6}$/; var errorName="帐号4~6之间"; var regIphone=/^1[358]\d{9}$/; var errorIphone="手机号码不正确"; var regEmail=/^[a-zA-Z0-9]+@[a-zA-Z0-9]+\.(com|cn)$/; var errorEmail="邮箱不正确"; var regAddress=/^[\u4E00-\u9FA5]{4,8}$/; var errorAddress="地址需要在四位到八位"; if(!(Validata.iname)){ Validata.prototype.name=function(oObj,oP,sReg,sError){ if(sReg){ if(typeof(sReg)=="string"){ errorName=sReg; }else{ regName=sReg; } } if(sError){ errorName=sError; } if(!(regName.test(oObj.value))){ oP.innerHTML=errorName; Validata.iname="ss"; return true; } } Validata.iname="ss"; } if(!(Validata.iIphone)){ Validata.prototype.iphone=function(oObj,oP,sReg,sError){ if(sReg){ if(typeof(sReg)=="string"){ errorIphone=sReg; }else{ regIphone=sReg; } } if(sError){ errorIphone=sError; } if(!(regIphone.test(oObj.value))){ oP.innerHTML=errorIphone; Validata.iIphone="ss"; return true; } } Validata.iIphone="ss"; } if(!(Validata.iEmail)){ Validata.prototype.email=function(oObj,oP,sReg,sError){ if(sReg){ if(typeof(sReg)=="string"){ errorEmail=sReg; }else{ regEmail=sReg; } } if(sError){ errorEmail=sError; } if(!(regEmail.test(oObj.value))){ oP.innerHTML=errorEmail; Validata.iEmail="ss"; return true; } } Validata.iEmail="ss"; } if(!(Validata.iAddress)){ Validata.prototype.address=function(oObj,oP,sReg,sError){ if(sReg){ if(typeof(sReg)=="string"){ errorAddress=sReg; }else{ regAddress=sReg; } } if(sError){ errorAddress=sError; } if(!(regAddress.test(oObj.value))){ oP.innerHTML=errorAddress; Validata.iAddress="ss"; return true; } } Validata.iAddress="ss"; } }
</script>
</head>
<body>
<form id="f1" action="www.baidu.com">
账号:<input type="text" id="0"><p></p><br>
邮箱:<input type="text" id="1"><p></p><br>
电话:<input type="text" id="2"><p></p><br>
地址:<input type="text" id="3"><p></p><br>
<input type="submit" value="提交"><br>
</form>
</body>
</html>
相关文章推荐
- Extjs4 之grid组件
- JSP语法之八大隐式对象
- javascript 用面向对象自写stringbuffer工具
- JS获取DropDownList选择项的值
- JavaScript基础学习资料
- 怎么使用js脚本理的timer控件
- JSON和JSONP
- javascript中的this
- js浮点 四则运算
- Backbone.js的集合详解(上)
- javascript继承机制的实习
- ExtJs 4.0 DeskTop集成 百度地图API
- javascript动态添加、修改、删除对象的属性和方法
- js(eval)解密工具
- JS函数自动执行
- js Dialog 去掉右上角的X关闭功能
- JavaScript中对象的属性
- javaScript 面向对象-继承(六)
- javascript中可处理的浮点数的最高精度(和小数的一些小特性)
- javascript的prototype