您好,欢迎访问一九零五行业门户网

从阿里妈妈发现的几个不错的表单验证函数_表单特效

//--------
// 检查当前浏览器是否为netscape
//--------
function isnetscape(){
    app=navigator.appname.substring(0,1);
    if (app=='n') return true;
    else {return false;}
}
//--------
// 保存当前form表单(仅适用于ie浏览器)
//--------
function formsavecheck(filename){
    if(isnetscape()){alert(sorry, these function is not supported)}    
    else document.execcommand('saveas',null,filename)
}
//--------
// 校验数据的合法性
//--------
function isvalidreg( chars){
    var re=/|\[|\]|\{|\}|『|』|※|○|●|◎|§|△|▲|☆|★|◇|◆|□|▼|㊣|﹋|⊕|⊙|〒|ㄅ|ㄆ|
ㄇ|ㄈ|ㄉ|ㄊ|ㄋ|ㄌ|ㄍ|ㄎ|ㄏ|ㄐ|ㄑ|ㄒ|ㄓ|ㄔ|ㄕ|ㄖ|ㄗ|ㄘ|ㄙ|ㄚ|ㄛ|ㄜ|ㄝ|ㄞ|ㄟ|ㄢ|ㄣ|ㄤ|ㄥ|ㄦ|ㄧ|ㄨ|ㄩ
|■|▄|▆|\*|@|#|\^|\\/;
    if (re.test( chars) == true) {
        return false;
    }else{
        return true;
    }    
}
//--------
// 检查数据的长度是否合法
//--------
function isvalidlength(chars, len) {
    if (chars.length > len) {
        return false;
    }
    return true;
}
//--------
// 校验url的合法性
//--------
function isvalidurl( chars ) {
    //var re=/^([hh][tt]{2}[pp]:\/\/|[hh][tt]{2}[pp][ss]:\/\/)((((\w+(-*\w*)+)\.)+((com)|
(net)|(edu)|(gov)|(org)|(biz)|(aero)|(coop)|(info)|(name)|(pro)|(museum))(\.([a-z]{2}))?)|((\w+(-
*\w*)+)\.(cn)))$/;
    var re=/^([hh][tt]{2}[pp]:\/\/|[hh][tt]{2}[pp][ss]:\/\/)(\s+\.\s+)$/;
    //var re=/^([hh][tt]{2}[pp]:\/\/|[hh][tt]{2}[pp][ss]:\/\/)(((((\w+(-*\w*)+)\.)+((com)|
(net)|(edu)|(gov)|(org)|(biz)|(aero)|(coop)|(info)|(name)|(pro)|(museum)|(cn)|(tv)|(hk))(\.([a-z]
{2}))?)|((\w+(-*\w*)+)\.(cn)))((\/|\?)\s*)*)$/;
    if (!isnull(chars)) {
        chars = jstrim(chars);
        if (chars.match(re) == null)
            return false;
        else
            return true;
    }
    return false;
}
//--------
// 校验数字的合法性
//--------
function isvaliddecimal( chars ) {
    var re=/^\d*\.?\d{1,2}$/;
    if (chars.match(re) == null)
        return false;
    else
        return true;
}
//--------
// 校验数字的合法性
//--------
function isnumber( chars ) {
    var re=/^\d*$/;
    if (chars.match(re) == null)
        return false;
    else
        return true;
}
//--------
// 校验邮编的合法性
//--------
function isvalidpost( chars ) {
    var re=/^\d{6}$/;
    if (chars.match(re) == null)
        return false;
    else
        return true;
}
//--------
// 去掉数据的首尾空字符
//--------
function jstrim(value){
  return value.replace(/(^\s*)|(\s*$)/g,);
}
//--------
// 校验数据是否为空(当数据为空字符时也为null)
//--------
function isnull( chars ) {
    if (chars == null)
        return true;
    if (jstrim(chars).length==0)
        return true;
    return false;
}
//--------
// 校验email的合法性
//--------
function checkemail (fieldname, bmsg) 
{
    var emailstr = fieldname.value;
var emailpat=/^(.+)@(.+)$/
    var specialchars=\\(\\)@,;:\\\\\\\\\.\\[\\]
    var validchars=\[^\\s + specialchars + \]
    var quoteduser=(\[^\]*\)
    var ipdomainpat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
    var atom=validchars + '+'
    var word=( + atom + | + quoteduser + )
    var userpat=new regexp(^ + word + (\\. + word + )*$)
    var domainpat=new regexp(^ + atom + (\\. + atom +)*$)
var matcharray=emailstr.match(emailpat)
    if (matcharray==null) 
    {
        if (bmsg) alert(email address seems incorrect (check @ and .'s))
        return false
    }
    var user=matcharray[1]
    var domain=matcharray[2]
// see if user is valid 
    if (user.match(userpat)==null) 
    {
        if (bmsg) alert(the email address seems incorrect.)
        // fieldname.focus();
        return false
    }
/* if the e-mail address is at an ip address (as opposed to a symbolic
       host name) make sure the ip address is valid. */
    var iparray=domain.match(ipdomainpat)
    if (iparray!=null) 
    {
        for (var i=1;i        {
            if (iparray[i]>255)
            {
                if (bmsg) alert(destination ip address is invalid!)
                return false
            }
        }
        return true
    }
// domain is symbolic name
    var domainarray=domain.match(domainpat)
    if (domainarray==null) 
    {
        if (bmsg) alert(the domain name doesn't seem to be valid.)
        return false
    }
/* domain name seems valid, but now make sure that it ends in a
    three-letter word (like com, edu, gov) or a two-letter word,
    representing country (uk, nl), and that there's a hostname preceding 
    the domain or country. */
var atompat=new regexp(atom,g)
    var domarr=domain.match(atompat)
    var len=domarr.length
    if (domarr[domarr.length-1].length3) 
    {
        // the address must end in a two letter or three letter word.
        if (bmsg) alert(the address must end in a three-letter domain, or two letter country.)
        return false
    }
// make sure there's a host name preceding the domain.
    if (len    {
        if (bmsg) alert(this address is missing a hostname!)
        return false
    }
// if we've got this far, everything's valid!
    return true;
}
//--------
// 判断是否为闰年
//--------
function isleapyear(year){
  if (year % 4 != 0)
    return false;
  if (year % 400 == 0)
    return true;
  if (year % 100 == 0)
    return false;
  return true;
}
//--------
// 校验日期的合法性
//--------
function validatedate(day,month,year)
{
    if ((day        return false;
if ((month>=1)&&(month        if (month == 2) {
            if (isleapyear(year)) {
                if (day                    return true;
            } else {
                if (day                    return true;
                else
                    return false;
            }
        } else if ((month==4)||(month==6)||(month==9)||(month==11)) {
            if (day                return true;
            else
                return false;
        } else {
            if (day                return true;
            else
                return false;
        }
    }
return false;
}
//--------
// 判断数据是否包含都是single byte
//--------
function issinglebytestring(str)
{
   var rc = true;
   var j = 0, i = 0;
   for (i=0; i     j = str.charcodeat(i);
     if (j>=128) {
       rc = false;
       break;
     }
   }
   return rc;
}
var submitevent = true;
function checkdoublesubmit(){
    return submitevent;
}
//--------
// 弹出窗口
// 参数:url-弹出窗口显示url的内容
//       w-弹出窗口的宽度
//       h-弹出窗口的高度
//       iscenter-控制弹出窗口是否在屏幕中央显示,值为true/false
//       isresizable-控制弹出窗口是否可以改变大小,值为true/false
//       isscroll-控制弹出窗口是否有滚动条,值为true/false
//--------
function popupwindow(url,w,h,iscenter,isresizable,isscroll) {
    if (isnull(url)) return;
    var scrleft = 0;
    var scrtop = 0;
    var scroll = no;
    var resize = no;
    if (iscenter) {
        scrleft = (screen.width-w)/2;
        scrtop = (screen.height-h)/2;
    }
    if (isresizable) resize=yes;
    if (isscroll) scroll = yes;
    window.open(url, 'popupwindow', 
'height='+h+',width='+w+',top='+scrtop+',left='+scrleft+',toolbar=no,menubar=no,scrollbars='+scrol
l+',resizable='+resize+',location=no,status=no');
}
//--------
// 弹出窗口
// 参数:url-弹出窗口显示url的内容
//       w-弹出窗口的宽度
//       h-弹出窗口的高度
//       iscenter-控制弹出窗口是否在屏幕中央显示,值为true/false
//       isresizable-控制弹出窗口是否可以改变大小,值为true/false
//       ismodal-控制弹出窗口是否为模式或非模式对话框,值为ture/false
//--------
function popupmodalwindow(url,w,h,iscenter,isresizable,ismodal) {
    if (isnull(url)) return;
    var scrleft = 0;
    var scrtop = 0;
    var resize = no;
    var cnt = no;
    if (iscenter) {
        cnt=yes;
        scrleft = (screen.width-w)/2;
        scrtop = (screen.height-h)/2;
    }
    if (isresizable) resize=yes;
    if (ismodal)
        window.showmodaldialog(url, 'popupwindow', 
'dialogwidth:'+w+'px;dialogheight:'+h+'px;dialogleft:'+scrleft+'px;dialogtop:'+scrtop+'px;center:'
+cnt+';help:no;resizable:'+resize+';status:no');
    else
        window.showmodelessdialog(url, 'popupwindow', 
'dialogwidth:'+w+'px;dialogheight:'+h+'px;dialogleft:'+scrleft+'px;dialogtop:'+scrtop+'px;center:'
+cnt+';help:no;resizable:'+resize+';status:no');
}
//--------
// 弹出窗口
// 参数:url-弹出窗口显示url的内容
//       w-弹出窗口的宽度
//       h-弹出窗口的高度
//       iscenter-控制弹出窗口是否在屏幕中央显示,值为true/false
//       isresizable-控制弹出窗口是否可以改变大小,值为true/false
//       isscroll-控制弹出窗口是否有滚动条,值为true/false
//--------
function openwindowcenter(urll,w,h){
  var top=(window.screen.height-h)/2;
  var left=(window.screen.width-w)/2;
  var param='toolbar=no,menubar=no,scrollbars=yes,resizable=no,location=no, status=no,top=';
  param=param+top;
  param=param+',left=';
  param=param+left;
  param=param+',height='+h;
  param=param+',width='+w;
  var w=window.open (urll,,param)
  if(w!=null && typeof(w)!=undefined){
        w.focus();
  }
}
其它类似信息

推荐信息