表单验证javascript函数总结

开发网站用得最多的代码就是表单验证代码,为方便大家的学习和工作,特将一些常用的验证代码函数贴出来,供大家参考:(本文将不断更新)

 

 

Array.prototype.max = function()
{
 var i, max = this[0];
 
 for( i = 1; i < this.length; i++ )
 {
  if( max < this[i] )
  max = this[i];
 }
 
 return max;
}


String.prototype.trim = function()
{

    return this.replace( /(^/s*)|(/s*$)/g, "" );
}


function checkExp( re, s )
{
 return re.test( s );
}


function isAlphaNumeric( strValue )
{

 return checkExp( /^/w*$/gi, strValue );
}


function isDate( strValue )
{

 if( isEmpty( strValue ) ) return true;

 if( !checkExp( /^/d{4}-[01]?/d-[0-3]?/d$/g, strValue ) ) return false;

 
 var arr = strValue.split( "-" );
 var year = arr[0];
 var month = arr[1];
 var day = arr[2];
 

 if( !( ( 1<= month ) && ( 12 >= month ) && ( 31 >= day ) && ( 1 <= day ) ) )
  return false;
  

 if( !( ( year % 4 ) == 0 ) && ( month == 2) && ( day == 29 ) )
  return false;
 

 if( ( month <= 7 ) && ( ( month % 2 ) == 0 ) && ( day >= 31 ) )
  return false;
 

 if( ( month >= 8) && ( ( month % 2 ) == 1) && ( day >= 31 ) )
  return false;
 

 if( ( month == 2) && ( day >=30 ) )
  return false;
 
 return true;
}


function isEmail( strValue )
{

 if( isEmpty( strValue ) ) return true;
 

 var pattern = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(/.[a-zA-Z0-9_-])+/;
 return checkExp( pattern, strValue );
 
}

function isEmpty( strValue )
{
 if( strValue == "" )
  return true;
 else
  return false;
}


function isNumeric( strValue )
{

 
 return checkExp( /^/d*$/g, strValue );
}

function ZisNumeric( strValue )
{

 return !//D+/.test(strValue)
 //return checkExp( /^/d*$/g, strValue );
}


function isMoney( strValue )
{

 if( isEmpty( strValue ) ) return true;
 
 return checkExp( /^[+-]?/d+(,/d{3})*(/./d+)?$/g, strValue );
}


function isPhone( strValue )
{

 if( isEmpty( strValue ) ) return true;
 
 return checkExp( /(^/(/d{3,5}/)/d{6,8}(-/d{2,8})?$)|(^/d+-/d+$)|(^(130|131|135|136|137|138|139)/d{8}$)/g, strValue );
}

function isMobile( strValue )
{

 if( isEmpty( strValue ) ) return true;
 return checkExp(/^13/d{9}$/, strValue );
 
}
function isPostalCode( strValue )
{

 return checkExp( /(^$)|(^/d{6}$)/gi, strValue )
}


function isURL( strValue )
{

 if( isEmpty( strValue ) ) return true;
 
 var pattern = /^(http|https|ftp):(/w+/.)+[a-z]{2,3}(///w+)*(///w+/./w+)*(/?/w+=/w*(&/w+=/w*)*)*/gi;
 

 return checkExp( pattern, strValue );
 
}


function checkLength( strValue, strParam )
{
 if( isEmpty( strValue ) ) return true;
 

 if( strParam.charAt( 0 ) != 'L' ) return false;
 
 var l = strValue.length;
 var ml = parseInt( strParam.substr( 2 ) );
 
 switch( strParam.charAt( 1 ) )
 {
  case '<' :
   if( l >= ml )
    return false;
   break;
   
  case '=' :
   if( l != ml )
    return false;
   break;
   
  case '>' :
   if( l <= ml )
    return false;
   break;
   
  default :
   return false
 }
 
 return true;
}


function ValidateMaxLength( strName, strDescription, strLength) {
 var strMsg = "";
 var strValue = document.all( strName ).value.trim();
 var strMaxLength = "L<" + strLength;
 if( !checkLength( strValue, strMaxLength ))
 strMsg = '"' + strDescription + '" 必须小于'+ strLength + '个字符/n';
 return strMsg;
}


function ValidateMinLength( strName, strDescription, strLength) {
 var strMsg = "";
 var strValue = document.all( strName ).value.trim();
 var strMaxLength = "L>" + strLength;
 if( !checkLength( strValue, strMaxLength ))
 strMsg = '"' + strDescription + '" 必须大于'+ strLength + '个字符/n';
 return strMsg;
}


function ValidateEquLength( strName, strDescription, strLength) {
 var strMsg = "";
 var strValue = document.all( strName ).value.trim();
 var strMaxLength = "L=" + strLength;
 if( !checkLength( strValue, strMaxLength ))
 strMsg = '"' + strDescription + '" 必须等于'+ strLength + '个字符/n';
 return strMsg;
}

 

 

function Validate( strName, strDescription, strType)
{
 var strMsg = "";
 var strValue = document.all( strName ).value.trim();
 var arrType = strType.split( " " );
 
 for( var i = 0; i < arrType.length; i++ )
  switch( arrType[i] )
  {
   case "AlphaNumeric" : 
    if( !isAlphaNumeric( strValue ) )
     strMsg = '"' + strDescription + '" 必须是字母或数字!/n';
    break;
   
   case "Date" : 
    if( !isDate( strValue ) )
     strMsg = '"' + strDescription + '" 必须具有正确的日期格式,如 2001-10-1/n';
    break;
    
   case "Email" : 
    if( !isEmail( strValue ) )
     strMsg = '"' + strDescription + '" 必须具有正确的邮件格式!/n';
    break;
    
   case "NotEmpty" : 
    if( isEmpty( strValue ) )
     strMsg = '"' + strDescription + '" 不能为空!/n';
    break;
    
   case "Numeric" : 
    if( !isNumeric( Math.abs(strValue) )  )
     strMsg = '"' + strDescription + '" 必须是数字!/n';
    break;
   case "INumeric" : 
    if( !isNumeric( strValue )  )
     strMsg = '"' + strDescription + '" 必须是大于或等于零数字!/n';
    break; 
   case "Money" : 
    if( !isMoney( strValue )  )
     strMsg = '"' + strDescription + '" 必须具有正确的货币格式,如 -123,456.789/n';
    break;
   case "ZisNumeric" : 
    if( !ZisNumeric( strValue ) )
     strMsg = '"' + strDescription + '" 必须是数字!/n';
    break;     
   case "Phone" :
    if( !isPhone( strValue ) )
     strMsg = '"' + strDescription + '" 必须具有正确的电话格式,如 (0755)1234567-999/n';
    break;
   case "isMobile" :
    if( !isMobile( strValue ) )
     strMsg = '"' + strDescription + '" 必须输入正确的手机号码/n';
    break;   
   case "PostalCode" : 
    if( !isPostalCode( strValue ) )
     strMsg = '"' + strDescription + '" 必须是6位数字!/n';
    break;
    
   case "URL" :
    if( !isURL( strValue ) )
     strMsg = '"' + strDescription + '" 必须是正确的URL格式!/n';
    break;
    
   default :
    if( arrType[i].charAt( 0 ) == 'L' )
    {
     if( !checkLength( strValue, arrType[i] ) )
      strMsg = '"' + strDescription + '" 的长度必须 ' + arrType[i].substr(1) + '/n';
    }
    else
     strMsg = '错误:"' + strDescription + '" 的类型 "' + strType + '" 不能识别!/n';
  }
 
 return strMsg;
}

 

function confirm_delete( url )
{
 if( confirm( "您确实要删除吗?" ) )
 {
  window.location = ( url )
 }
}

 

function openNewWin( url, width, height,top,left)
{
 var newwin = window.open( url, "NewWin", "scrollbars=yes,width=" + width + ",height=" + height +"" );
 newwin.moveTo(top,left);
 newwin.focus();
 return false;
}

function opwin(url,name, width, height,top,left) { //v2.0
 var newwinop = window.open(url,name,''+'width='+width+',height='+height+',scrollbars=yes'+'');
 newwinop.moveTo(top,left);
 return false;
}
function opwin2(url,name, width, height,top,left) { //v2.0
 var newwinop = window.open(url,name,''+'width='+width+',height='+height+',scrollbars=no'+'');
 newwinop.moveTo(top,left);
 return false;
}

function openNewWin2( url, width, height,top,left)
{
 var newwin2 = window.open( url, "NewWin2", "toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=yes,scrollbars=yes,width=" + width + ",height=" + height +"" );
 newwin2.moveTo(top,left);
 newwin2.focus();
 return false;
}
function openNewWin3( url, width, height,top,left)
{
 var newwin3 = window.open( url, "newwin3", "toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=yes,scrollbars=yes,width=" + width + ",height=" + height +"" );
 newwin3.moveTo(top,left);
 newwin3.focus();
 return false;
}
function openDialog( url, width, height)

 showModalDialog( url, "NewWin","dialogWidth:"+ width +";dialogHeight:"+ height +";dialogTop:100;dialogLeft:200;status:no;");
}


var checkboxflag = "false";
function check(field)
{
 if (checkboxflag == "false")
 {
  if(field.length == null) 
  {
   if (field.disabled != true)
   {
    field.checked = true;
   }
  }
  else
  {
   for (i = 0; i < field.length; i++)
   {
    if (field[i].disabled != true) 
    {
     field[i].checked = true;
    }
   }
  }
  checkboxflag = "true";
  return "全不选";
 }
 else
 {
  if(field.length == null)
  {
   if (field.disabled != true)
   {
    field.checked = false;
   }
  }
  else
  {
   for (i = 0; i < field.length; i++)
   {
    if (field[i].disabled != true) 
    {
     field[i].checked = false;
    } 
   }
  }
  checkboxflag = "false";
  return "全选";
 }
}


function chkinverse(field)
{
 if(field.length == null) 
 {
  if (field.disabled != true)
  {
   if(field.checked == true)
   {
    field.checked = false;
   }
   else
   {
    field.checked = true;
   }
  } 
 }
 else
 {
  
  for(i = 0; i < field.length; i++)
  {
   if (field[i].disabled != true)
   {
    if(field[i].checked == true)
    {
     field[i].checked = false;
    }
    else
    {
     field[i].checked = true;
    } 
   }
  }
 } 
 return "反选"
}


//
function ActionConfirm(form,msg,field)
{
 var flag=0;
 var truthBeTold;
 for(i = 0; i < field.length; i++)
  {
   if (field[i].disabled != true)
   {
    if(field[i].checked == true)
    {
     flag=1;
    }
   }
  }

 if(field.length == null)
 {
  if(field.checked == true)
  {
   flag=1;
  }  
 }

 if (flag==0)
 {alert("请选择记录!");}
 else
 {
  truthBeTold =window.confirm("你确定要["+msg+"]吗?");
  if (truthBeTold) {
   form.DoType.value=msg;
   form.submit();
  }
 }
}

var isNav, isIE
if (parseInt(navigator.appVersion) >= 4) {
 if (navigator.appName == "Netscape") {
  isNav = true
 } else {
  isIE = true
 }
}
function uf_mouseon(obj)
{
 if (isIE)
 {
  //obj.filters.alpha.opacity = 70
  //obj.filters.Gray.enabled = true;

 }
}
function uf_mouseoff(obj)
{
 if (isIE)
 {
  //obj.filters.alpha.opacity = 100
  //obj.filters.Gray.enabled = false;
 }

}

function PopWin(url)
{
 window.open(url,'WindowResult','Width=480,Height=265,Resizable=1,scrollbars=1');
}

function change_sendmode()

 var username
 username=vote.username.value;

 url="incuser.asp?username=" + username;
 window.open(url,"frmGetSendmode"); 
}

function formCheck() {

 if ("" == document.searchnews.newskeyword.value) {
     alert("请输入你要查询的关键字")
     document.searchnews.newskeyword.focus()
     return false;
   }
}
function chkkey(str)

 fibkey = new Array ("guest" ,"七彩虹", "colorful","世和","qicaihong","seethru","sego","qch");
 i=fibkey.length;
 for (ii=0;ii<i ;ii++ )
 { //alert(fibkey[ii]);
  if(str.indexOf(fibkey[ii])>-1)
  {return 0;}
 } 
 return 1;
}

function chksafe(a)

 fibdn = new Array ("'",",",";", "/","<",">",":","//","!"," ","$","%","^","&","*","(",")");
 i=fibdn.length;
 j=a.length;
 for (ii=0;ii<i;ii++)
 { for (jj=0;jj<j;jj++)
  { temp1=a.charAt(jj);
   temp2=fibdn[ii];
   if (temp1==temp2)
   { return 0; }
  }
 }
 return 1;
}
  


 function checkemail(id) 
{
 var s=id.value
 var report;
 if(isempty(id))
 {
  var i = 1;
  var len = s.length;
  if (len > 60)
  {
   alert("Email地址的长度不能超过60!/n");
   id.select();
   return false;
  }
  pos1 = s.indexOf("@");
  pos2 = s.indexOf(".");
  pos3 = s.lastIndexOf("@");
  pos4 = s.lastIndexOf(".");
  if ((pos1 <= 0)||(pos1 == len)||(pos2 <= 0)||(pos2 == len)) 
  {
   alert("请输入正确的Email地址/n");
   id.select();
   return false;
  }
  else
  {
   if( (pos1 == pos2 - 1) || (pos1 == pos2 + 1)
     || ( pos1 != pos3 )  //find two @
     || ( pos4 < pos3 ) ) //. should behind the '@'    
   {
    alert("请输入正确的Email地址,只能包含一个@/n");
    id.select();
    return false;
   }
  }
  if ( !onlyinclude( s, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.-_@"))
  {
   alert("Email只能包含ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.-_@这些字符/n" );
   id.select();
   return false;
  }
 }
 else
 {
  alert("请输入正确的Email地址/n");
  id.select();
  return false;
 }
 return true;
}

function getRadioSelectedIndex(radio)
{
 var dd=-1;
 for(i=0;i<radio.length;i++){
  if(radio[i].checked)dd=i;
 }
 return dd;
}
function getcheckboxSelectedIndex(checkbox)
{
 var dds=-1;
 for(i=0;i<checkbox.length;i++){
  if(checkbox[i].checked)dds=i;
 }
 return dds;
}
function CheckRadioSelectedbak(radio,sName)
{
 if(getRadioSelectedIndex(radio)<0){
  alert("请选择"+sName+"!");
  radio[0].focus();
  return false;
 }
 return true;
}
function CheckRadioSelectedbak(radio,sName)
{
 if(getRadioSelectedIndex(radio)<0){
  
  radio[0].focus();
  return false;
 }
 return true;
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值