Formularprüfung

tulusie

Mitglied
Hi Leute,

ich habe hier eine Formularprüfung die ich auf unserer Seite einsetze. Funktioniert eigentlich auch soweit ganz gut.
Wollte nur mal eure Meinung, was man daran evtl. verbessern kann. (evtl. keine Eingabe von Zahlen beim Vornamen?) Oder hab ich vielleicht sogar nen Fehler eingebaut den ich bis jetzt noch nicht gesehen habe? Fällt euch was auf?

Code:
function check()
{
     modif_casse(document.register.name);
     modif_casse(document.register.vorname);
     modif_casse_email(document.register.email);
	 modif_casse(document.register.ort);
     modif_casse(document.register.farbe);
	  if (document.register.vorname.value=="" || document.register.vorname.value.slice(0,1).search(/[^0-9-_]/) == -1){
        alert("Bitte prüfe deinen Vorname.");
        document.register.vorname.focus();
      } 
	  else if (document.register.name.value=="" || document.register.name.value.slice(0,1).search(/[^0-9-_]/) == -1){
        alert("Bitte prüfe deinen Name.");
        document.register.name.focus();
      } 
	  else if (document.register.strasse.value=="" ){
        alert('Bitte prüfe deine Strasse.');
        document.register.strasse.focus();
      } 
	  else if (document.register.plz.value=="" || document.register.plz.value.length<4 || document.register.plz.value.length>5){
            alert('Bitte prüfe PLZ.');
        document.register.plz.focus();
      } 
	  else if (document.register.ort.value=="" ){
         alert('Bitte prüfe ORT.');
        document.register.ort.focus();
      } 
	  else if (document.register.land_id.value=="" ){
        alert('Bitte prüfe Land.');
        document.register.land_id.focus();
      } 
	  else if (document.register.geb_tag.value=="" ){
        alert('Bitte prüfe Geburtsdatum.');
        document.register.geb_tag.focus();
      } 
      else if (document.register.geb_monat.value=="" ){
        alert('Bitte prüfe Geburtsdatum.');
        document.register.geb_monat.focus();
      } 
  	  else if (document.register.geb_jahr.value=="" ){
        alert('Bitte prüfe Geburtsdatum.');
        document.register.geb_jahr.focus();
      } 
	  else if (document.register.handy_nr.value=="") {
        alert('Bitte prüfe Handy Nr.');
         document.register.handy_nr.focus();
      }
	  else if (!(document.register.handy_nr.value.substring(0,2)=="00")) {
         alert('Bitte prüfe Handy Nr: Diese Handynummer ist leider ungültig! Bitte Nr. mit vorangestelltem 0049 (für Deutschland) oder 0043 (für Österreich) eingeben');
         document.register.handy_nr.focus();
      } 
	  else if (document.register.email.value.search(/^\w+((-\w+)|(\.\w+))*\@\w+((\.|-)\w+)*\.\w+$/) == -1 && document.register.email.value != ""){
       alert('Deine Email ist fehlerhaft.\n Bitte korrigiere sie.');
       document.register.email.focus();
      }
	  else if (document.register.email.value=="" ){
         alert('Bitte prüfe deine Email.');
         document.register.email.focus();
      }  
	  else if (document.register.kleidergr.value=="" ){
         alert('Bitte prüfe deine Kleidergrösse.');
         document.register.kleidergr.focus();
      }  
	  else if(document.register.datenschutz.checked == false) {
	    alert("Bitte bestätige noch die AGB.");
        document.register.datenschutz.focus();
      }
	  else if (document.register.code.value=="" ){
        alert("Bitte prüfe deinen Gutschein-Code.");
        document.register.code.focus();
      } 
	  else if (document.register.code2.value=="" && document.register.contentType.value=="MIDLET"){
        alert("Bitte prüfe Gutschein-Code n°2.");
        document.register.code.focus();
      } 
	  else{
         document.register.submit();
		 }
}

  function modif_casse(stringtochange){
     longueur_string=stringtochange.value.length;
     for(i=1;i<=longueur_string;i++){                       
       if ((i==1) || (stringtochange.value.charAt(i-1)==("-")) || (stringtochange.value.charAt(i-1)==(" ")) || (stringtochange.value.charAt(i-1)==("'"))){
         if (i!=1){
           j=i;
         }
         else{
           j=i-1;
         }
         debutstring=stringtochange.value.slice(0,j);
         initiale=stringtochange.value.charAt(j).toUpperCase();                                      
         champ_nom=stringtochange.value.slice(j+1,longueur_string+1).toLowerCase();
         stringtochange.value=debutstring+initiale+champ_nom;           
       }
     } 
   }

  function modif_casse_email(stringtochange){
    longueur_string=stringtochange.value.length;
      for(i=1;i<=longueur_string;i++){                       
        if (i==1){
          if (i!=1){
            j=i;
          }
          else{
            j=i-1;
          }
          debutstring=stringtochange.value.slice(0,j);
          initiale=stringtochange.value.charAt(j).toLowerCase();                                      
          champ_nom=stringtochange.value.slice(j+1,longueur_string+1).toLowerCase();
          stringtochange.value=debutstring+initiale+champ_nom;
        }
      } 
  }
 
Viel zu viel Code, wenn du mich fragst. Du wiederhost dich viel zu oft in deinem Code.Verwende Schleifen! Außerdem wäre es besser das ganze mit regulären Ausdrücken und match anstatt mit Stringvergleichen zu machen.
 

Neue Beiträge

Zurück