源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2022-01-11 17:23 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:从阿里妈妈发现的几个不错的表单验证函数
//-------- // 检查当前浏览器是否为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<=4;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].length<2 || domArr[domArr.length-1].length>3)      {         // 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<2)     {         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<=0)||(month<=0)||(year<=0))         return false;     if ((month>=1)&&(month<=12)) {         if (month == 2) {             if (isLeapYear(year)) {                 if (day<=29)                      return true;             } else {                 if (day<=28)                     return true;                 else                     return false;             }         } else if ((month==4)||(month==6)||(month==9)||(month==11)) {             if (day<=30)                 return true;             else                 return false;         } else {             if (day<=31)                 return true;             else                 return false;         }     }     return false; } //-------- // 判断数据是否包含都是Single Byte //-------- function isSingleByteString(str) {    var rc = true;    var j = 0, i = 0;    for (i=0; i<str.length; 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();   } } <script language="javascript"> function encodeHtmlForText(text){   text = text.replace(new RegExp("&","gm"),"&");   text = text.replace(new RegExp("<","gm"),"<");   text = text.replace(new RegExp(">","gm"),">");   text = text.replace(new RegExp("\'","gm"),"'");   text = text.replace(new RegExp("\"","gm"),""");   return text; } function encodeHtmlForURL(url){   url = url.replace(new RegExp("<","gm"),"<");   url = url.replace(new RegExp(">","gm"),">");   url = url.replace(new RegExp("\'","gm"),"'");   url = url.replace(new RegExp("\"","gm"),""");   return url; } function title_url_change(oipt) {   if(oipt){       var cnt = oipt.value.length;     if(cnt<17){         $i("cntTitle").style.color="blue";         $i("cntTitle").innerHTML="(您已输入"+cnt+"字)";     }else{         $i("cntTitle").style.color="red";         $i("cntTitle").innerHTML="(文本超长!您已输入"+cnt+"字)";     }   }   var title = $i('_fmm.t._0.ti').value;   var clickurl = $i('_fmm.t._0.cl').value;   title = encodeHtmlForText(title);   clickurl = encodeHtmlForURL(clickurl);   $i('adTitle').innerHTML = '<a href='+clickurl+'>'+title+'</a>'; } function title_change() {   var title = $i('_fmm.t._0.ti').value;   title = encodeHtmlForText(title);   $i('adTitle').innerHTML = title; } function description_change(oipt) {   if(oipt){       var cnt = oipt.value.length;     if(cnt<33){         $i("cntDesc").style.color="blue";         $i("cntDesc").innerHTML="(您已输入"+cnt+"字)";     }else{         $i("cntDesc").style.color="red";         $i("cntDesc").innerHTML="(文本超长!您已输入"+cnt+"字)";     }   }   var desc = $i('_fmm.t._0.d').value;   desc = encodeHtmlForText(desc);   $i('adDesc').innerHTML = desc; } function dispurl_change() {   var dispurl = $i('_fmm.t._0.di').value;   dispurl = encodeHtmlForURL(dispurl);   $i('adDispUrl').innerHTML = dispurl; } function linkurl_change() {   var clickurl = $i('_fmm.t._0.cl').value;   clickurl = encodeHtmlForURL(clickurl);   $i('adClickUrl').innerHTML = clickurl; } function check_count($str){ if (!$str) return 0; var $c=0; for (var $i=0;$i<$str.length;$i++){    if ($str.charCodeAt($i) > 255){         $c++;         $c++;     }else         $c++; } return $c; } function validation() {     $i('_fmm.t._0.n').value = jsTrim($i('_fmm.t._0.n').value);     $i('_fmm.t._0.ti').value = jsTrim($i('_fmm.t._0.ti').value);     $i('_fmm.t._0.d').value = jsTrim($i('_fmm.t._0.d').value);     $i('_fmm.t._0.di').value = jsTrim($i('_fmm.t._0.di').value);     $i('_fmm.t._0.cl').value = jsTrim($i('_fmm.t._0.cl').value);     var adName = $i('_fmm.t._0.n').value;     var adtitle = $i('_fmm.t._0.ti').value;     var addescription = $i('_fmm.t._0.d').value;     var addispurl = $i('_fmm.t._0.di').value;     var adclickurl = $i('_fmm.t._0.cl').value;     var msg="";     $i('_fmm.t._0.t').value = jsTrim($i('_fmm.t._0.t').value);     var tags = $i('_fmm.t._0.t').value;     if(!isValidReg(tags)){         msg=msg+"关键词包含非法字符!\n";     }     if(!isValidLength(tags,32)){         msg=msg+"您输入的关键词长度超过限制!\n"     }     if(isNULL(adName)){         msg=msg+"请输入广告名称!\n";     }     if(!isValidReg(adName)){         msg=msg+"广告名称包含非法字符!\n";     }     if(!isValidLength(adName,16)){         msg=msg+"输入广告名称长度超过限制!\n"     }     if(isNULL(adtitle)){         msg=msg+"请输入标题内容!\n";     }     if(!isValidLength(adtitle,16)){         msg=msg+"输入标题长度超过限制!\n";     }     if(!isValidReg(adtitle)){         msg=msg+"标题内容包含非法字符!\n";     }     if(isNULL(addescription)){         msg=msg+"请输入描述内容!\n";     }     if(!isValidLength(addescription,32)){         msg=msg+"输入描述长度超过限制!\n";     }     if(!isValidReg(addescription)){         msg=msg+"描述内容包含非法字符!\n";     }     if(isNULL(addispurl)){         msg=msg+"请输入显示网址内容!\n";     }     if(!isValidLength(addispurl,1024)){         msg=msg+"输入显示网址长度超过限制!\n";     }     if(!isValidURL(addispurl)){         msg=msg+"显示网址输入不合法!\n";     }     if(isNULL(adclickurl)){         msg=msg+"请输入链接网址内容!\n";     }     if(!isValidLength(adclickurl,512)){         msg=msg+"输入链接网址长度超过限制!\n";     }     if(!isValidURL(adclickurl)){         msg=msg+"链接网址输入不合法!\n";     }     if(getHostName(adclickurl)!=getHostName(addispurl)){         msg=msg+"显示URL必须与链接URL位于同一域名下\n";     }     if(!isNULL(msg)){         alert(msg);         return false;     }     return true; } function getHostName(a){     a = a.toLowerCase();     var headlength = 0;     if(a.indexOf("http://")==0){         headlength = 7;     }else if(a.indexOf("https://")==0){         headlength = 8;     }     a = a.substr(headlength);     if(a.indexOf("/")>-1){         a = a.substr(0,a.indexOf("/"));     }     return a; } function addConfirm(form) {     var isvalidate = validation();     if(isvalidate){         form.submit();     }else{         return false;     } } function doTest() {     var adclickurl = $i('_fmm.t._0.cl').value;     var msg = '';     if(isNULL(adclickurl)){         msg=msg+"请输入链接网址内容!\n";     }     if(!isValidLength(adclickurl,512)){         msg=msg+"输入链接网址长度超过限制!\n";     }     if(!isValidURL(adclickurl)){         msg=msg+"链接网址输入不合法!\n";     }     if(!isNULL(msg)){         alert(msg);         return false;     }     popup = window.open(adclickurl, 'popupnav',  'width=400,height=300,left=480,top=250,resizable=1,scrollbars=yes');     return false; } function doInit() {     var dispURL = $i('_fmm.t._0.di');     var clickURL = $i('_fmm.t._0.cl');     if(clickURL.value == '') {        clickURL.value = 'http://';     }     if(dispURL.value == '') {        dispURL.value = 'http://';     } } doInit(); </script>
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部