// 使用举例
/**
* 统一验证方法
* Form 元素中输入相关标记
* vmode: ['not null']
* vdisp: 显示信息
* vtype: 校验类型 ['none','string','tabledefine','integer','datetime','date','time','postcode','float','email','phone','mobiletel','ip']
* 例子:
*/
// 正则表达式定义
var validrule = new Object();
validrule.string = /^([^'<>]+)?$/;
validrule.tabledefine = /^([A-Za-z][A-Za-z0-9|_]{1,18})?$/;
validrule.integer = /^(\d*)$/;
validrule.date = /^((([1-9]\d{3})|([1-9]\d{1}))-(0[1-9]|1[0-2])-(0[1-9]|[1-2]\d|3[0-1]))?$/;
validrule.time = /^((0[1-9]|1[0-9]|2[0-4]):([0-5][0-9]):([0-5][0-9]))?$/;
validrule.datetime = /^((([1-9]\d{3})|([1-9]\d{1}))-(0[1-9]|1[0-2])-(0[1-9]|[1-2]\d|3[0-1]) (0[1-9]|1[0-9]|2[0-4]):([0-5][0-9]):([0-5][0-9]))?$/;
validrule.postcode = /^(\d{6})?$/;
validrule.float = /^(([0-9]\d?)($|(\.\d+$)))?$/;
validrule.email = /^(.+\@.+\..+)?$/;
validrule.phone = /^(\(\d{3}\))?(\(?(\d{3}|\d{4}|\d{5})\)?(-?)(\d+))?((-?)(\d+))?$/;
validrule.mobiletel = /^(13(\d{9}))?$/;
validrule.ip = /^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-5][0-5])\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-5][0-5])\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-5][0-5])\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-5][0-5]))?$/;
function doValidate( vform )
{
var elems = vform.elements;
var frmLen = elems.length;
var thePat = "";
var strFormatInfo = "";
//对于每一个FROM元素
for(var i=0;i
{
var _elem = elems[i];
//为空检查
if(_elem.vmode != null && _elem.vmode == "not null")
{
if(_elem.value.length == 0)
{
alert(_elem.vdisp+"不能为空!")
_elem.focus();
return false;
}
}
//类型检查
if(_elem.vtype == null)
{
continue;
}
if(_elem.vtype=="none")
{
thePat = "";
strFormatInfo = "";
}
if(_elem.vtype=="string")
{
thePat = validrule.string;
strFormatInfo = "asd";
}
if(_elem.vtype=="tabledefine")
{
thePat = validrule.tabledefine;
strFormatInfo = "p_tablename";
}
if(_elem.vtype=="integer")
{
thePat = validrule.integer;
strFormatInfo = "123456";
}
if(_elem.vtype=="datetime")
{
thePat = validrule.datetime;
strFormatInfo = "2004-08-12 08:37:29";
}
if(_elem.vtype=="date")
{
thePat = validrule.date;
strFormatInfo = "2004-08-12";
}
if(_elem.vtype=="time")
{
thePat = validrule.time;
strFormatInfo = "08:37:29";
}
if(_elem.vtype=="postcode")
{
thePat = validrule.postcode;
strFormatInfo = "100001";
}
if(_elem.vtype=="float")
{
thePat = validrule.float;
strFormatInfo = "356.32";
}
if(_elem.vtype=="email")
{
thePat = validrule.email;
strFormatInfo = "msm@hotmail.com";
}
if(_elem.vtype=="phone")
{
thePat = validrule.phone;
strFormatInfo = "010-67891234";
}
if(_elem.vtype=="mobiletel")
{
thePat = validrule.mobiletel;
strFormatInfo = "13867891234";
}
if(_elem.vtype=="ip")
{
thePat = validrule.ip;
strFormatInfo = "172.22.169.11";
}
var gotIt = null;
if(thePat!="")
{
gotIt = thePat.exec(_elem.value);
}
if(gotIt == null)
{
alert(_elem.vdisp+"输入不合法,格式应为:"+strFormatInfo);
_elem.focus();
return false;
}
}
return true;
}
表单
用户编号 | 用户名称 |
用户性别 男 女 | 出生日期 |
固定电话 | 邮件地址 |
机器地址 | |
入职日期 |
ps:写于2010-08-24 16:47