html验证表单输入合法性,WEB开发中HTML页面表单(FORM)域输入合法性的客户端验证...

// 使用举例

/**

* 统一验证方法

* 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值