Validate=new function()
{
;
}
Validate.Submit=function(pParam1)
{
var rtnValue=true;
var e;
if(arguments.length==1)
{
e=document.getElementById(pParam1).getElementsByTagName('input');
}
else
{
e=document.forms[0].elements;
}
var propertyCount=0;
for(var i=0;i<e.length;i++)
{
if(rtnValue==false) break;//如果发现返回值是假直接中断
switch(e[i].type.toLowerCase())
{
case 'text':
if(e[i].isnull!=null)
{
if(e[i].isnull.toLowerCase()=='false'){
if(e[i].value==''){
alert(e[i].alerttext+'不能为空');
e[i].focus();
rtnValue=false;
}
}
}
if(rtnValue == true)
{
//数字判断
if(e[i].isnum != null)
{
if(e[i].isnum=='true')
{
if(isNaN(e[i].value))
{//不是数字
alert(e[i].alerttext+'只能为数字!');
e[i].select();
e[i].focus();
rtnValue=false;
}
else
{//是数字
if(e[i].minvalue!=null)propertyCount+=1;
if(e[i].maxvalue!=null)propertyCount+=1;
if(propertyCount==2)
{
if(parseFloat(e[i].value)<parseFloat(e[i].minvalue) || parseFloat(e[i].value)>parseFloat(e[i].maxvalue))
{
alert(e[i].alerttext+'应在 '+e[i].minvalue+' 和 '+e[i].maxvalue+' 之间');
e[i].select();
e[i].focus();
rtnValue=false;
}
}
else if(e[i].minvalue!=null)
{
if(parseFloat(e[i].value)<parseFloat(e[i].minvalue)){
alert(e[i].alerttext+'不能小于 '+e[i].minvalue);
e[i].select();
e[i].focus();
rtnValue=false;
}
}
else if(e[i].maxvalue!=null){
if(parseFloat(e[i].value)>parseFloat(e[i].maxvalue)){
alert(e[i].alerttext+'不能大于 '+e[i].maxvalue);
e[i].select();
e[i].focus();
rtnValue=false;
}
}
}
}
}
//判是否Email
if(e[i].isemail!=null)
{
if(e[i].isemail.toLowerCase()=='true')
{
if(!Validate.IsEmail(e[i].value))
{
alert(e[i].alerttext+'格式错误!');
e[i].focus();
rtnValue=false;
}
}
}
//判是否为手机
if(e[i].ismobile!=null)
{
if(e[i].ismobile.toLowerCase()=='true')
{
if(e[i].value!='')
{
if(!Validate.IsMobile(e[i].value))
{
alert(e[i].alerttext+'格式错误!');
e[i].focus();
rtnValue= false;
}
}
}
}
//判是否为固话
if(e[i].isfixedphone!=null)
{
if(e[i].isfixedphone.toLowerCase()=='true')
{
if(e[i].value!='')
{
if(!Validate.IsFixedPhone(e[i].value))
{
alert(e[i].alerttext+'格式错误!');
e[i].focus();
rtnValue= false;
}
}
}
}
//判是否为固话或移动电话
if(e[i].istel!=null)
{
if(e[i].istel.toLowerCase()=='true')
{
if(e[i].value!='')
{
if(!Validate.IsFixedPhone(e[i].value)&&!Validate.IsMobile(e[i].value))
{
alert(e[i].alerttext+'格式错误!');
e[i].focus();
rtnValue= false;
}
}
}
}
//判是否为邮政编码
if(e[i].ispostalcode!=null)
{
if(e[i].ispostalcode.toLowerCase()=='true')
{
if(e[i].value!='')
{
if(!Validate.IsPostalCode(e[i].value))
{
alert(e[i].alerttext+'格式错误!');
e[i].focus();
rtnValue= false;
}
}
}
}
}
break;
default:
break;
}
}
return rtnValue;
}
Validate.IsEmail=function(pValue)
{
if(!/^/w+([/.-]?/w+)*@/w+([/.-]?/w+)*(/./w{2,3})+$/.test(pValue))
return false;
else
return true;
}
Validate.IsFixedPhone=function(pValue)
{
var patrn=/^[+]{0,1}(/d){1,3}[ ]?([-]?((/d)|[ ]){1,12})+$/;
if (!patrn.exec(pValue))
return false ;
else
return true ;
}
Validate.IsMobile=function(pValue)
{
var reg=/^1(3|5)/d{9}$/gi;
return (reg.test(pValue));
}
Validate.IsPostalCode=function(pValue)
{
var patrn=/^[a-zA-Z0-9 ]{3,12}$/;
if (!patrn.exec(pValue))
return false ;
else
return true ;
}
//调用时,引入js,在事件中加上btn.Attributes["onclick"]="javaScript:return Validate.Submit();";