2016-06-11 10 views
0

gibt es einen einfacheren Weg, um den Charakter zu testen, ich sah etwas über RegExp neulich, aber es ist dann angewendet, was ich jetzt tun. die piont ist Beispiel:Javascript - Probleme mit Filter, RegExp und Variablen

wenn Vorname nur enthält a to z dann es wahr wenn geben Zählung ein +1 und später eine Rückkehr, wenn Zahl 8 oder höher es Post einreichen.

Aber es funktioniert nicht, wenn ich Nummer in Vorname putin.

einige von ihnen finden einen Fehler im Skript oder etwas, das ich besser hätte tun können?

vielen dank.

var count = 0; 
 

 
function checkEmail() { 
 

 
    var email = document.getElementById('Email'); // haalt record op en slaat op als variable 
 
    var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})/; // hier wordt gecheckt of de records correct zijn ingevuld 
 

 
    // hier staat als de test terug komt moet dingen die niet in de filter staat dan voer iets geldig in 
 
    if (!filter.test(email.value)) { 
 
    alert('Voer geldig email adres in.'); 
 
    email.focus;// hier wordt gelet als de muis of met die toetsenbord weg gaat van veld 
 

 
      return false; 
 
    
 

 
} 
 
else { 
 
    count = count+1; 
 
} 
 
    
 
} 
 

 
function checkVoornaam() { 
 

 
    var voornaam = document.getElementById('voornaam'); 
 
    var filter = /^([a-zA-Z])/; 
 

 
    if (!filter.test(voornaam.value)) { 
 
    alert('Voer uw voornaam in.'); 
 
    voornaam.focus; 
 
    return false; 
 
} 
 
else { 
 
    count = count+1; 
 
} 
 
} 
 

 
function checkachternaam() { 
 

 
    var achternaam = document.getElementById('achternaam'); 
 
    var filter = /^([a-zA-Z])/; 
 

 
    if (!filter.test(achternaam.value)) { 
 
    alert('Voer uw achternaam in.'); 
 
    achternaam.focus; 
 
    return false; 
 
} 
 
else { 
 
    count = count+1; 
 
} 
 
} 
 

 

 

 
function checkStraat() { 
 

 
    var straat = document.getElementById('Straatnaam'); 
 
    var filter = /^([a-zA-Z0-9,#.-]+)/; 
 

 
    if (!filter.test(straat.value)) { 
 
    alert('Voer uw straatnaam in.'); 
 
    straat.focus; 
 
    return false; 
 
} 
 
else { 
 
    count = count+1; 
 
} 
 
} 
 

 
function checkSn() { 
 

 
    var sn = document.getElementById('Huisnummer'); 
 
    var filter = /^([a-zA-Z0-9,#.-]+)/; 
 

 
    if (!filter.test(sn.value)) { 
 
    alert('Voer uw huisnummer in.'); 
 
    sn.focus; 
 
    return false; 
 
} 
 
else { 
 
    count = count+1; 
 
} 
 
} 
 

 
function checkPS() { 
 

 
    var ps = document.getElementById('Postcode'); 
 
    var filter = /^([1-9][0-9]{3}\s?[a-zA-Z]{2})/; 
 

 
    if (!filter.test(ps.value)) { 
 
    alert('Voer uw postcode in.'); 
 
    ps.focus; 
 
    return false; 
 
} 
 
else { 
 
    count = count+1; 
 
} 
 
} 
 

 
function checkWP() { 
 

 
    var WP = document.getElementById('Woonplaats'); 
 
    var filter = /^([a-zA-Z\-']+)/; 
 

 
    if (!filter.test(WP.value)) { 
 
    alert('Voer uw woonplaats in.'); 
 
    WP.focus; 
 
    return false; 
 
} 
 
else { 
 
    count = count+1; 
 
} 
 
} 
 

 
function checkTel() { 
 

 
    var tel = document.getElementById('Telefoonnummer'); 
 
    var filter = /^(\d{3}\d{3}\d{4})/; 
 

 
    if (!filter.test(tel.value)) { 
 
    alert('Voer uw telefoonnummer in.'); 
 
    tel.focus; 
 
    return false; 
 
} 
 
else { 
 
    count = count+1; 
 
} 
 
} 
 

 

 

 
// global var 
 
    var pass1 = document.getElementById('Wachtwoord'); 
 
var pass2 = document.getElementById('Herhaal_Wachtwoord'); 
 

 

 

 
// functie checkt terplekke of ww1 en ww2 overeenkomen 
 
function checkPass() 
 
{ 
 
    //Store the Confimation Message Object ... 
 
    var message = document.getElementById('confirmMessage'); 
 
    //Set the colors we will be using ... 
 
    var goodColor = "#66cc66"; 
 
    var badColor = "#ff6666"; 
 
    //Compare the values in the password field 
 
    //and the confirmation field 
 
    if(pass1.value == pass2.value){ 
 
     //The passwords match. 
 
     //Set the color to the good color and inform 
 
     //the user that they have entered the correct password 
 
     pass2.style.backgroundColor = goodColor; 
 
     message.style.color = goodColor; 
 
     message.innerHTML = "Passwords Match!"; 
 
//  registreren.register show(); 
 
    }else{ 
 
     //The passwords do not match. 
 
     //Set the color to the bad color and 
 
     //notify the user. 
 
     pass2.style.backgroundColor = badColor; 
 
     message.style.color = badColor; 
 
     message.innerHTML = "Passwords Do Not Match!"; 
 
    //  registreren.register hide(); 
 
    } 
 
} 
 

 

 
function validateForm() { 
 
    
 
    
 
var fields = ["voornaam", "achternaam", "Email", "Wachtwoord", "Herhaal_Wachtwoord", "Straatnaam", "Huisnummer", "Postcode","Woonplaats","Telefoonummer"]; 
 
     
 
if (pass1.value !== pass2.value){ 
 
     alert ("Wachtwoord komen niet overeen"); 
 
     return false; 
 
     } 
 
           if (count < 8){ 
 
         alert("iets is niet goed ingevuld"); 
 
         return false; 
 
         } 
 
      var l = fields.length; 
 
      var fieldname; 
 
       for (i = 0; i < l; i++) { 
 
       fieldname = fields[i]; 
 
        if (document.forms["register"][fieldname].value === "") { 
 
        alert(fieldname + " mag niet leeg zijn"); 
 
        return false; 
 
        } 
 
       } 
 
        // if (count < 8){ 
 
         // alert("iets is niet goed ingevuld"); 
 
         // return false; 
 
         // } 
 
       
 
        
 
        
 
       
 
      }

+0

bitte einen jsfiddle oder Plunker erstellen. Ein Arbeitscode hilft bei der Lösung des Problems – brk

+0

Ihre Beschreibung ist wenig unklar. Kannst du richtig erklären, was du erreichen willst? Vermutlich geben Sie einige Beispiele mit Ausgabe. – Rajesh

+0

Wo deklarieren Sie 'count', wo überprüfen Sie den Wert, wo rufen Sie diese Funktionen auf und wo senden Sie das Formular ab? – trincot

Antwort

0

Die Regex /^([a-zA-Z])/ passt nur, wenn die Zeichenfolge mit az startet, versuchen Sie diese Regex:

/^[a-zA-Z]+$/ 

Und:

function valid_firstname(firstName) { 
    return /^[a-zA-Z]+$/.test(firstName); 
} 

valid_firstname('John'); // true 
valid_firstname('John42'); // false 
0

In der Funktion checkVoornaam die Regex:

var filter =/^ ([a-zA-Z]) /;

Miss die $ Char am Ende.

Jetzt wird es Mario und auch Mario1 und auch Mario2Ciao und so weiter übereinstimmen.

es sein sollte:

var filter = /^([a-zA-Z])$/;