Accueil > > > CONTROLE DE VALIDATION DE FORMULAIRE
CONTROLE DE VALIDATION DE FORMULAIRE
Information sur la source
Description
Récupération des champs du formulaire (texte, radio bouton, checkbox, select, textearea) Vérification de données (date, eMail, chaine, carte de crédit)
Source
- /*
- ###########################################################
- # Form control library
- # Shaiulud - www.shaiulud.fr.st -
- # Created : 18/01/2002
- # Updated : 23/06/2003
- ###########################################################
- */
-
- //##################
- //# GetFormIputs #
- //##################
- //radio
- function getRadioVal(rb)
- {var L=rb.length;var ret="";
- for (var i = 0 ; i< L ; i++)
- {if(rb[i].checked) {ret=rb[i].value;break;}}
- return(ret);
- }
-
- //text, password, hidden, textarea, file
- function getTextVal(tf)
- {var ret=tf.value;
- return(ret);
- }
-
- //checkbox
- function getCheckboxVal(cb)
- {var L=cb.length;var ret='';
- for (i = 0; i < L; i++)
- {if (cb[i].checked==true) {ret += cb[i].value + '\n';}}
- return(ret);
- }
-
- //select
- function getSelectVal(sel)
- {var ret='';
- ret=sel.options[sel.selectedIndex].text;
- return(ret);
- }
-
-
-
- //#############
- //# Control #
- //#############
- function IsDate(JJ, MM, AAAA)
- {if(JJ<1||JJ>31||MM<1||MM>12) return false;
- if(MM==2)
- {if(JJ==30||JJ==31) return false;
- if(JJ==29) return ((AAAA%4==0&&AAAA%100!=0)||AAAA%400==0);
- }
- else if(JJ==31) return !(MM==4||MM==6||MM==9||MM==11);
- return true;
- }
-
- function IsEMail(emailStr)
- {var validDomain=false;
- var AtPos = emailStr.lastIndexOf("@");
- var DotPos= emailStr.lastIndexOf(".");
- if((AtPos>0)&&(DotPos>0)&&(AtPos<DotPos))
- {var domainExtList='ac.ad.ae.af.ag.ai.al.am.an.ao.aq.ar.as.at.au.aw
- .az.ba.bb.bd.be.bf.bg.bh.bi.bj.bm.bn.bo.br.bs.bt.bv.bw.by.bz.ca
- .cc.cd.cf.cg.ch.ci.ck.cl.cm.cn.co.cr.cs.cu.cv.cx.cy.cz.de.dj.dk.dm
- .do.dz.ec.ee.eg.eh.er.es.et.fi.fj.fk.fm.fo.fr.fx.ga.gb.gd.ge.gf.gg .gh
- .gi.gl.gm.gn.gp.gq.gr.gs.gt.gu.gw.gy.hk.hm.hn.hr.ht.hu.id.ie.il.im.in
- .io.iq.ir.is.it.je.jm.jo.jp.ke.kg.kh.ki.km.kn.kp.kr.kw.ky.kz.la.lb.lc.li.lk
- .lr.ls.lt.lu.lv.ly.ma.mc.md.mg.mh.mk.ml.mm.mn.mo.mp.mq.mr.ms.mt
- .mu.mv.mw.mx.my.mz.na.nc.ne.nf.ng.ni.nl.no.np.nr.nt.nu.nz.om
- .pa.pe.pf.pg.ph.pk.pl.pm.pn.pr.ps.pt.pw.py.qa.re.ro.ru.rw.sa.sb
- .sc.sd.se.sg.sh.si.sj.sk.sl.sm.sn.so.sr.st.su.sv.sy.sz.tc.td.tf.tg.th
- .tj.tk.tm.tn.to.tp.tr.tt.tv.tw.tz.ua.ug.uk.um.us.uy.uz.va.vc.ve.vg
- .vi.vn.vu.wf.ws.ye.yt.yu.za.zm.zr.zw.com.edu.gov.int.mil.net.org .biz.pro.info.aero.name.coop.arpa.nato.museum.EoF';
- var domainExt=domainExtList.split(".");
- var emailExt=emailStr.substr(DotPos+1);
- emailExt=emailExt.toLowerCase();
- for(i=0;domainExt.length;i++)
- {if (domainExt[i]=='EoF') break; //infinite loop else
- if (emailExt==domainExt[i]) {validDomain=true;break;}
- }
- }
- return(validDomain);
- }
-
- function IsNumberString(NumStr)
- {var regEx=/^[0-9]+$/;
- var ret=false;
- if (regEx.test(NumStr)) ret=true;
- return ret;
- }
-
- function IsAlphaNumString(NumStr)
- {var regEx=/^[A-Za-z0-9]+$/;
- var ret=false;
- if (regEx.test(NumStr)) ret=true;
- return ret;
- }
-
- function IsAlphaString(NumStr)
- {var regEx=/^[A-Za-z]+$/;
- var ret=false;
- if (regEx.test(NumStr)) ret=true;
- return ret;
- }
-
- function isCreditCard(st) {
- // Encoding only works on cards with less than 19 digits with Luhn mod-10
- if (st.length > 19) return (false);
- sum=0;mul=1;l=st.length;
- for(i=0;i<l;i++)
- {digit = st.substring(l-i-1,l-i);
- tproduct = parseInt(digit ,10)*mul;
- if (tproduct >= 10)
- sum += (tproduct % 10) + 1;
- else
- sum += tproduct;
- if (mul == 1)
- mul++;
- else
- mul--;
- }
- if ((sum % 10) == 0)
- return (true);
- else
- return (false);
- }
-
- function isVisa(cc)
- {if(((cc.length==16)||(cc.length==13))&&(cc.substring(0,1)==4)) return isCreditCard(cc);
- return false;
- }
-
- function isMasterCard(cc)
- {firstdig = cc.substring(0,1);
- seconddig = cc.substring(1,2);
- if((cc.length==16)&&(firstdig==5)&&((seconddig>=1)&&(seconddig<=5))) return isCreditCard(cc);
- return false;
- }
-
- function isAmericanExpress(cc)
- {firstdig = cc.substring(0,1);
- seconddig = cc.substring(1,2);
- if((cc.length==15)&&(firstdig==3)&&((seconddig==4)||(seconddig==7))) return isCreditCard(cc);
- return false;
- }
-
- function isAnyCard(cc)
- {if(!isCreditCard(cc)) return false;
-
- if (isMasterCard(cc)) alert('Master Card');
- if (isVisa(cc)) alert('Visa Card');
- if (isAmericanExpress(cc)) alert('American Express');
-
- if(!isMasterCard(cc) && !isVisa(cc) && !isAmericanExpress(cc)) return false;
- return true;
- }
/*
###########################################################
# Form control library
# Shaiulud - www.shaiulud.fr.st -
# Created : 18/01/2002
# Updated : 23/06/2003
###########################################################
*/
//##################
//# GetFormIputs #
//##################
//radio
function getRadioVal(rb)
{var L=rb.length;var ret="";
for (var i = 0 ; i< L ; i++)
{if(rb[i].checked) {ret=rb[i].value;break;}}
return(ret);
}
//text, password, hidden, textarea, file
function getTextVal(tf)
{var ret=tf.value;
return(ret);
}
//checkbox
function getCheckboxVal(cb)
{var L=cb.length;var ret='';
for (i = 0; i < L; i++)
{if (cb[i].checked==true) {ret += cb[i].value + '\n';}}
return(ret);
}
//select
function getSelectVal(sel)
{var ret='';
ret=sel.options[sel.selectedIndex].text;
return(ret);
}
//#############
//# Control #
//#############
function IsDate(JJ, MM, AAAA)
{if(JJ<1||JJ>31||MM<1||MM>12) return false;
if(MM==2)
{if(JJ==30||JJ==31) return false;
if(JJ==29) return ((AAAA%4==0&&AAAA%100!=0)||AAAA%400==0);
}
else if(JJ==31) return !(MM==4||MM==6||MM==9||MM==11);
return true;
}
function IsEMail(emailStr)
{var validDomain=false;
var AtPos = emailStr.lastIndexOf("@");
var DotPos= emailStr.lastIndexOf(".");
if((AtPos>0)&&(DotPos>0)&&(AtPos<DotPos))
{var domainExtList='ac.ad.ae.af.ag.ai.al.am.an.ao.aq.ar.as.at.au.aw
.az.ba.bb.bd.be.bf.bg.bh.bi.bj.bm.bn.bo.br.bs.bt.bv.bw.by.bz.ca
.cc.cd.cf.cg.ch.ci.ck.cl.cm.cn.co.cr.cs.cu.cv.cx.cy.cz.de.dj.dk.dm
.do.dz.ec.ee.eg.eh.er.es.et.fi.fj.fk.fm.fo.fr.fx.ga.gb.gd.ge.gf.gg .gh
.gi.gl.gm.gn.gp.gq.gr.gs.gt.gu.gw.gy.hk.hm.hn.hr.ht.hu.id.ie.il.im.in
.io.iq.ir.is.it.je.jm.jo.jp.ke.kg.kh.ki.km.kn.kp.kr.kw.ky.kz.la.lb.lc.li.lk
.lr.ls.lt.lu.lv.ly.ma.mc.md.mg.mh.mk.ml.mm.mn.mo.mp.mq.mr.ms.mt
.mu.mv.mw.mx.my.mz.na.nc.ne.nf.ng.ni.nl.no.np.nr.nt.nu.nz.om
.pa.pe.pf.pg.ph.pk.pl.pm.pn.pr.ps.pt.pw.py.qa.re.ro.ru.rw.sa.sb
.sc.sd.se.sg.sh.si.sj.sk.sl.sm.sn.so.sr.st.su.sv.sy.sz.tc.td.tf.tg.th
.tj.tk.tm.tn.to.tp.tr.tt.tv.tw.tz.ua.ug.uk.um.us.uy.uz.va.vc.ve.vg
.vi.vn.vu.wf.ws.ye.yt.yu.za.zm.zr.zw.com.edu.gov.int.mil.net.org .biz.pro.info.aero.name.coop.arpa.nato.museum.EoF';
var domainExt=domainExtList.split(".");
var emailExt=emailStr.substr(DotPos+1);
emailExt=emailExt.toLowerCase();
for(i=0;domainExt.length;i++)
{if (domainExt[i]=='EoF') break; //infinite loop else
if (emailExt==domainExt[i]) {validDomain=true;break;}
}
}
return(validDomain);
}
function IsNumberString(NumStr)
{var regEx=/^[0-9]+$/;
var ret=false;
if (regEx.test(NumStr)) ret=true;
return ret;
}
function IsAlphaNumString(NumStr)
{var regEx=/^[A-Za-z0-9]+$/;
var ret=false;
if (regEx.test(NumStr)) ret=true;
return ret;
}
function IsAlphaString(NumStr)
{var regEx=/^[A-Za-z]+$/;
var ret=false;
if (regEx.test(NumStr)) ret=true;
return ret;
}
function isCreditCard(st) {
// Encoding only works on cards with less than 19 digits with Luhn mod-10
if (st.length > 19) return (false);
sum=0;mul=1;l=st.length;
for(i=0;i<l;i++)
{digit = st.substring(l-i-1,l-i);
tproduct = parseInt(digit ,10)*mul;
if (tproduct >= 10)
sum += (tproduct % 10) + 1;
else
sum += tproduct;
if (mul == 1)
mul++;
else
mul--;
}
if ((sum % 10) == 0)
return (true);
else
return (false);
}
function isVisa(cc)
{if(((cc.length==16)||(cc.length==13))&&(cc.substring(0,1)==4)) return isCreditCard(cc);
return false;
}
function isMasterCard(cc)
{firstdig = cc.substring(0,1);
seconddig = cc.substring(1,2);
if((cc.length==16)&&(firstdig==5)&&((seconddig>=1)&&(seconddig<=5))) return isCreditCard(cc);
return false;
}
function isAmericanExpress(cc)
{firstdig = cc.substring(0,1);
seconddig = cc.substring(1,2);
if((cc.length==15)&&(firstdig==3)&&((seconddig==4)||(seconddig==7))) return isCreditCard(cc);
return false;
}
function isAnyCard(cc)
{if(!isCreditCard(cc)) return false;
if (isMasterCard(cc)) alert('Master Card');
if (isVisa(cc)) alert('Visa Card');
if (isAmericanExpress(cc)) alert('American Express');
if(!isMasterCard(cc) && !isVisa(cc) && !isAmericanExpress(cc)) return false;
return true;
}
Conclusion
Rappel: inclure la librarie :: <script language="JavaScript" src="formControl.js"></script> appel d'un objet du formulaire : document.formName.objectName ou this.formName.objectName
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
L'INTERFACE NATURELLE DE WINDOWS PHONE 7 SERIESL'INTERFACE NATURELLE DE WINDOWS PHONE 7 SERIES par odewit
La tendance est aux interfaces naturelles (NUI), et le keynote de Bill Buxton au MIX l'a bien souligné.
La charte graphique et ergonomique de Windows Phone 7 a donc été entièrement repensée en vue d'obtenir un maximum d'efficacité sur ce point. En re...
Cliquez pour lire la suite de l'article par odewit COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE?COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE? par Matthieu MEZIL
Avec EF, les vues doivent être mappées sur des entity types. Le problème c'est que les entity types doivent avoir une clé. Avec EF, nous avons les complex type qui n'ont pas de clé mais les vues ne peuvent pas être mappées dessus. Avec EF4, il est possibl...
Cliquez pour lire la suite de l'article par Matthieu MEZIL [WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL?[WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL? par JeremyJeanson
Certain d'entre vous on peut être vécu cette situation embarrassante après quelques temps passer avec WF4 : Au début avec mon " ActivityDesigner" , tout allait bien. Et puis un jour j'ai au des problèmes de " Binding" . Alors nous sommes allé sur le site ...
Cliquez pour lire la suite de l'article par JeremyJeanson
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|