您的位置:首页 > 编程语言 > ASP

Asp.net(Ajax)表单验证 函数包

2008-10-04 02:04 357 查看
/**********************************************************************************

*

* 功能说明:JS表单验证函数库

* 作者: 刘功勋;

* 版本:V0.1(JavaScript);时间:2006-7-27

* 注意:文件为js文件,使用时,<script language="javascript" src="*.js"></script>

* *******************************************************************************/

/********************************************************************************

* 函数名称:resultRemain

* 功能说明:根据传递值,改变表单提示状态

* 参 数:id:表单span ID号;str:提示文字;CssClassName:改变提示颜色的CSS Style Class名称

*********************************************************************************/

function resultRemain(id,stype,str,CssClassName)

{

switch (stype) {

//默认

case "normal" :

{

eval("span_"+id).className=CssClassName;

break;

}

//正确

case "right" :

{

eval("span_"+id).innerHTML=str;

eval("span_"+id).className=CssClassName;

break;

}

//错误

case "error":

{

eval("span_"+id).className=CssClassName;

eval("error_"+id).innerHTML=str;

break;

}

//获得焦点

case "focus":

{

eval("span_"+id).innerHTML=str;

eval("span_"+id).className=CssClassName;

}

default :

break;

}

}

/********************************************************************************

* 函数名称:onFocusForm

* 功能说明:密码输入框获得焦点时显示提示状态

* 参 数:o:表单对象

* 调用方式:表单控件名称.Attributes["onfocus"] = "return onFocusPwd(this);"; //(Asp.net)

*********************************************************************************/

function onFocusForm(o,str)

{

if(o){

resultRemain(o.id,"focus",str,"formonfocus");

}

}

/********************************************************************************

* 函数名称:onCheckPwd

* 功能说明:当表单失去焦点时,触发相应的密码检测

* 参 数:o:表单对象

* 调用方式:表单名称.Attributes["onfocus"] = "return onFocusPwd(this);"; //(Asp.net)

*********************************************************************************/

function onCheckPwd(o){

var p = o.value;

if(p){

//测试密码长度,包括汉字密码

var len = 0;

var ary = escape(p).match(/(%u[0123456789ABCDEF]{4})+/g);

if(ary){

len = unescape(ary.join("")).length * 2;

p = unescape(escape(str).replace(/(%u[0123456789ABCDEF]{4})+/g,""));

len += p.length;

}else{

len = p.length;

}

if(len < 6 || len > 20){

resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> 密码有误</span> ","formerr");

return false;

}else{

resultRemain(o.id,"right","填写正确 ","formnormal");

return true;

}

}else{

resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> 密码不能为空</span> ","formerr");

return false;

}

};

/**********************************************************************************

* 函数名称:strlen

* 功能说明:检测字符串长度

* 参 数:o:表单对象;len:字符串长度

* 调用方式:表单名称.Attributes["onblur"] = "return strlen(this,30);"; //(Asp.net)

***********************************************************************************/

function strlen(o,len)

{

var p = o.value;

if(p)

{

var l=p.length;

if(l>len)

{

resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> 字符超过长度</span> ","formerr");

return false;

}

else

resultRemain(o.id,"right","填写正确 ","formnormal");

return true;

}

else

{

resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> 资料不能为空</span> ","formerr");

return false;

}

}

/**********************************************************************************

* 函数名称:onCheckPostCode(o)

* 功能说明:检测邮编是否合法

* 参 数:o:表单对象;

* 调用方式:表单名称.Attributes["onblur"] = "return onCheckPostCode(this);"; //(Asp.net)

***********************************************************************************/

function onCheckPostCode(o){

var str = o.value;

if(str){

var pattern = /^\d{6}$/;

if(!pattern.test(str))

{

resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> 邮编输入不合法</span> ","formerr");

return false;

}else{

resultRemain(o.id,"right","填写正确 ","formnormal");

return true;

}

}else{

resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> 邮编不能为空</span> ","formerr");

return false;

}

}

/**********************************************************************************

* 函数名称:onCheckTel(o)

* 功能说明:检测电话号码是否合法或传真

* 参 数:o:表单对象;

* 调用方式:表单名称.Attributes["onblur"] = "return onCheckPostCode(this);"; //(Asp.net)

***********************************************************************************/

function onCheckTel(o){

var str = o.value;

if(str){

var pattern = /^((\d{3,4}-?\d{7,8})|(\d{7,8}))$/;

if(!pattern.test(str))

{

resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> 号码格式不合法</span> ","formerr");

return false;

}else{

resultRemain(o.id,"right","填写正确 ","formnormal");

return true;

}

}else{

resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> 号码不能为空</span> ","formerr");

return false;

}

}

/**********************************************************************************

* 函数名称:onCheckMobile(o)

* 功能说明:检测手机号码是否合法

* 参 数:o:表单对象;

* 调用方式:表单名称.Attributes["onblur"] = "return onCheckMobile(this);"; //(Asp.net)

***********************************************************************************/

function onCheckMobile(o){

var str = o.value;

if(str){

var pattern = /^(0?13\d{9})$/;

if(!pattern.test(str))

{

resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> 手机号码输入不合法</span> ","formerr");

return false;

}else{

resultRemain(o.id,"right","填写正确 ","formnormal");

return true;

}

}else{

resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> 手机号码不能为空</span> ","formerr");

return false;

}

}

/**********************************************************************************

* 函数名称:onCheckEmail(o)

* 功能说明:检测E-mail是否合法

* 参 数:o:表单对象;

* 调用方式:表单名称.Attributes["onblur"] = "return onCheckEmail(this);"; //(Asp.net)

***********************************************************************************/

function onCheckEmail(o){

var em = o.value;

if(em){

var pattern = /^(\w|_|\.)+@((\w|_|\-)+\.)+(\w){2,3}$/;

if(!pattern.test(em))

{

resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> E-mail输入不合法</span> ","formerr");

return false;

}

else{

resultRemain(o.id,"right","填写正确 ","formnormal");

return true;

}

}else{

resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> E-mail不能为空</span> ","formerr");

return false;

}

}

/**********************************************************************************

* 函数名称:ipcheck(o)

* 功能说明:检测IP地址是否合法

* 参 数:o:表单对象;

* 调用方式:表单名称.Attributes["onblur"] = "return ipcheck(this);"; //(Asp.net)

***********************************************************************************/

function ipcheck(o){

var ipstr=o.value;

if(ipstr){

var reg = /^((\d{1,3})(\.\d{1,3}){3})$/;

if(reg.test(ipstr))

{

var ary = ipstr.split('.');

for(key in ary)

{

if(parseInt(ary[key]) > 255)

{

resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" />IP输入不合法</span> ","formerr");

return false;

}

}

resultRemain(o.id,"right","填写正确 ","formnormal");

return true;

}

else

{

resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" />IP输入不合法</span> ","formerr");

return false;

}

}

else

{

resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> IP不能为空</span> ","formerr");

return false;

}

}

/**********************************************************************************

* 函数名称:checkNum(o)

* 功能说明:检测是否为纯数字

* 参 数:o:表单对象;

* 调用方式:表单名称.Attributes["onblur"] = "return checkNum(this);"; //(Asp.net)

***********************************************************************************/

function checkNum(o)

{

var str=o.value;

if(str)

{

var reg =/\D/;

if(!reg.test(str))

{

resultRemain(o.id,"right","填写正确 ","formnormal");

return true;

}

else

{

resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> 起始标识应为纯数字!</span> ","formerr");

return false;

}

}

else

{

resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> 起始标识不能为空</span> ","formerr");

return false;

}

}

/**********************************************************************************

* 函数名称:checkchinese(o)

* 功能说明:检测是否为中文字符

* 参 数:o:表单对象;

* 调用方式:表单名称.Attributes["onblur"] = "return checkchinese(this);"; //(Asp.net)

***********************************************************************************/

function checkchinese(o)

{

var str=o.value;

if(str)

{

var reg =/[\u0391-\uFFE5]/gi;

if(!reg.test(str))

{

resultRemain(o.id,"right","填写正确 ","formnormal");

return true;

}

else

{

resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> 含有中文字符!</span> ","formerr");

return false;

}

}

else

{

resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> 不能为空</span> ","formerr");

return false;

}

}

/**********************************************************************************

* 函数名称: CheckUid(o)

* 功能说明:检测用户名是否合法,暂没做ajax检测

* 参 数:o:表单对象;

* 调用方式:表单名称.Attributes["onblur"] = "return CheckUid(this);"; //(Asp.net)

***********************************************************************************/

function CheckUid(o){

var u = o.value;

if(u){

if(u.length < 4 || u.length > 20)

{

resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> 用户名长度需在4-20之间!</span> ","formerr");

return false;

}

}else{

resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> 用户名不能为空!</span> ","formerr");

return false;

}

var pattern = /^([a-zA-Z0-9]|[\u4E00-\uFA2D])+$/;

if(!pattern.test(u))

{

resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> 用户名包含非法字符!</span> ","formerr");

return false;

}

else

{

resultRemain(o.id,"right","填写正确 ","formnormal");

return true;

}

// if(u == o1.value && u != ""){

// RegStyle(o.id,"right","此用户名可以使用");

// return false;

// }

// var flag = LoadXml(HostName + "/CallPage/Query.aspx?op=QueryUid&s=" + o.value);

// if(flag == 'False'){

// RegStyle(o.id,"right","此用户名可以使用");

// o1.value = u;

// }else{

// RegStyle(o.id,"error","这个用户名已被注册");

// return false;

// }

}

表单提交时,验证全部表单的例子:

function RegForm()

{

var falsestr="";

//检测密码

if(!onCheckPwd(Form1.tb_u_password))

falsestr +="false|";

if(!onCheckPwd(Form1.tb_u_password2))

falsestr +="false|";

if(Form1.tb_u_password.value !=Form1.tb_u_password2.value)

falsestr +="false|";

if(!onCheckEmail(Form1.tb_email))

falsestr +="false|";

if(!onCheckTel(Form1.tb_tel))

falsestr +="false|";

// if(!onCheckMobile(Form1.tb_mobile))

// falsestr +="false|";

if(!CheckUid(Form1.tb_name))

falsestr +="false|";

//当falsestr中,包含false中,则返回false

if(falsestr.length>=5)

{

alert('表单中,有不符合规定的字符');

return false;

}

else

return true;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: