rikietje
Gebruiker
- Lid geworden
- 17 nov 2010
- Berichten
- 154
RegistratieScript
Ik gebruik op mijn webpagina (http://rikbeernink.nl/register.php)
Het volgende script om te controleren of alles gegevens juist zijn ingevuld.
[JS]echo "<script type='text/javascript'>
function formValidator(){
var voornaam = document.getElementById('voornaam');
var achternaam = document.getElementById('achternaam');
var email = document.getElementById('email');
var tussenvoegsel = document.getElementById('tussenvoegsel');
var username = document.getElementById('username');
var pass = document.getElementById('pass');
var pass2 = document.getElementById('pass2');
if( tussenvoegsel == ''){ tusssenvoegsel = 'geen' }
if(isAlphabet(voornaam, 'Vul alstublieft uw voornaam in.')){
if(isAlphabet(achternaam, 'Vul alstublieft uw achternaam in.')){
if(isAlphabetallowspace(tussenvoegsel, 'Vul alstublieft een geldig tussenvoegsels in. Als u geen tussenvoegsel heeft laat het veld dan leeg')){
if(emailValidator(email, 'Vul alstublieft een geldig e-mail adres in.')){
if(check_username(username, 4, 12)){
if(check_password(pass, 6, 18)){
if(check_double_password(pass, pass2)){
return true;
}
}
}
}
}
}
}
return false;
}
function isAlphabet(elem, helperMsg){
var alphaExp = /^[a-zA-Z]+$/;
if(elem.value.match(alphaExp)){
return true;
}else{
alert(helperMsg);
elem.focus();
return false;
}
}
function isAlphabetallowspace(elem, helperMsg){
var alphaExp = /^[a-zA-Z _ ' ' '']+$/;
if(elem.value == ''){
return true;
}
if(elem.value.match(alphaExp)){
return true;
}
else{
alert(helperMsg);
elem.focus();
return false;
}
}
function emailValidator(elem, helperMsg){
var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
if(elem.value.match(emailExp)){
return true;
}else{
alert(helperMsg);
elem.focus();
return false;
}
}
function check_username(elem, min, max){
var uInput = elem.value;
var alphaUsername = /^[a-zA-Z0-9 _ '']+$/;
if(elem.value.length >= 4){
if(elem.value.length <= 12){
if(elem.value.match(alphaUsername)){
return true;
}
else{
alert('Gebruikersnaam mag alleen letters cijfers en een underscore bevatten (_) ');
return false;
}
}
}else{
alert('De gebruikersnaam moet uit minimaal 4 en mag uit maximaal 12 karakters bestaan.');
elem.focus();
return false;
}
}
function check_password(elem, min, max){
var uInput = elem.value;
var alphaUsername = /^[a-zA-Z0-9 - _!@#$%,.]+$/;
if(uInput.length >= min && uInput.length <= max){
if(elem.value.match(alphaUsername)){
return true;
}
else{
alert('Wachtwoord mag alleen uit letters en cijfers bestaan de volgende tekens bestaan : - _!@#$%,. ');
return false;
}
}else{
alert('Het wachtwoord moet uit minimaal 6 en mag uit maximaal 16 karakters bestaan.');
elem.focus();
return false;
}
}
function check_double_password(pass, pass2){
if (pass.value == pass2.value){
return true;
}
else{
alert('De opgegeven wachtwoorden zijn niet gelijk aan elkaar')
return false;
}
}
</script>";
$_SESSION['id'] = $uni;
echo "<div class='div_main_login' >
<form action='' method='POST' onsubmit='return formValidator()' >
Voornaam :
<input type='text' name='voornaam' id='voornaam' /><br />
tussenvoegsel :
<input type='text' name='tussenvoegsel' id='tussenvoegsel' value=' ' /><br />
Achternaam :
<input type='text' name='achternaam' id='achternaam' /><br />
email :
<input type='text' name='email' id='email' /><br />
gebruikersnaam :
<input type='text' name='username' id='username' /><br />
wachtwoord :
<input type='password' name='pass' id='pass' /><BR />
wachtwoord (ter bevestiging) : <input type='password' name='pass2' id='pass2' /><br />
<input type='hidden' name='uni' value=$uni />
<div style='display: none;'><input type='text' name='geenreclame' id='geenreclame' /></div>
<br />
<input type='submit' value='Registreren' id='submit' />
</form></div>[/JS]
Het gaat hier echter mis bij het checken van de username, hij geeft constant aan dat de gebruikersnaam niet lang genoeg is, ondanks het feit dat dit wel zo is.
Waar gaat het mis?
Het gaat dan vooral om deze stukjes code denk ik.
[JS]function check_username(elem, min, max){
var uInput = elem.value;
var alphaUsername = /^[a-zA-Z0-9 _ '']+$/;
if(elem.value.length >= 4){
if(elem.value.length <= 12){
if(elem.value.match(alphaUsername)){
return true;
}
else{
alert('Gebruikersnaam mag alleen letters cijfers en een underscore bevatten (_) ');
return false;
}
}
}else{
alert('De gebruikersnaam moet uit minimaal 4 en mag uit maximaal 12 karakters bestaan.');
elem.focus();
return false;
}
}[/JS]
en
[JS]
var username = document.getElementById('username');
if(check_username(username, 4, 12)){[/JS]
Alvast bedankt!
Ik gebruik op mijn webpagina (http://rikbeernink.nl/register.php)
Het volgende script om te controleren of alles gegevens juist zijn ingevuld.
[JS]echo "<script type='text/javascript'>
function formValidator(){
var voornaam = document.getElementById('voornaam');
var achternaam = document.getElementById('achternaam');
var email = document.getElementById('email');
var tussenvoegsel = document.getElementById('tussenvoegsel');
var username = document.getElementById('username');
var pass = document.getElementById('pass');
var pass2 = document.getElementById('pass2');
if( tussenvoegsel == ''){ tusssenvoegsel = 'geen' }
if(isAlphabet(voornaam, 'Vul alstublieft uw voornaam in.')){
if(isAlphabet(achternaam, 'Vul alstublieft uw achternaam in.')){
if(isAlphabetallowspace(tussenvoegsel, 'Vul alstublieft een geldig tussenvoegsels in. Als u geen tussenvoegsel heeft laat het veld dan leeg')){
if(emailValidator(email, 'Vul alstublieft een geldig e-mail adres in.')){
if(check_username(username, 4, 12)){
if(check_password(pass, 6, 18)){
if(check_double_password(pass, pass2)){
return true;
}
}
}
}
}
}
}
return false;
}
function isAlphabet(elem, helperMsg){
var alphaExp = /^[a-zA-Z]+$/;
if(elem.value.match(alphaExp)){
return true;
}else{
alert(helperMsg);
elem.focus();
return false;
}
}
function isAlphabetallowspace(elem, helperMsg){
var alphaExp = /^[a-zA-Z _ ' ' '']+$/;
if(elem.value == ''){
return true;
}
if(elem.value.match(alphaExp)){
return true;
}
else{
alert(helperMsg);
elem.focus();
return false;
}
}
function emailValidator(elem, helperMsg){
var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
if(elem.value.match(emailExp)){
return true;
}else{
alert(helperMsg);
elem.focus();
return false;
}
}
function check_username(elem, min, max){
var uInput = elem.value;
var alphaUsername = /^[a-zA-Z0-9 _ '']+$/;
if(elem.value.length >= 4){
if(elem.value.length <= 12){
if(elem.value.match(alphaUsername)){
return true;
}
else{
alert('Gebruikersnaam mag alleen letters cijfers en een underscore bevatten (_) ');
return false;
}
}
}else{
alert('De gebruikersnaam moet uit minimaal 4 en mag uit maximaal 12 karakters bestaan.');
elem.focus();
return false;
}
}
function check_password(elem, min, max){
var uInput = elem.value;
var alphaUsername = /^[a-zA-Z0-9 - _!@#$%,.]+$/;
if(uInput.length >= min && uInput.length <= max){
if(elem.value.match(alphaUsername)){
return true;
}
else{
alert('Wachtwoord mag alleen uit letters en cijfers bestaan de volgende tekens bestaan : - _!@#$%,. ');
return false;
}
}else{
alert('Het wachtwoord moet uit minimaal 6 en mag uit maximaal 16 karakters bestaan.');
elem.focus();
return false;
}
}
function check_double_password(pass, pass2){
if (pass.value == pass2.value){
return true;
}
else{
alert('De opgegeven wachtwoorden zijn niet gelijk aan elkaar')
return false;
}
}
</script>";
$_SESSION['id'] = $uni;
echo "<div class='div_main_login' >
<form action='' method='POST' onsubmit='return formValidator()' >
Voornaam :
<input type='text' name='voornaam' id='voornaam' /><br />
tussenvoegsel :
<input type='text' name='tussenvoegsel' id='tussenvoegsel' value=' ' /><br />
Achternaam :
<input type='text' name='achternaam' id='achternaam' /><br />
email :
<input type='text' name='email' id='email' /><br />
gebruikersnaam :
<input type='text' name='username' id='username' /><br />
wachtwoord :
<input type='password' name='pass' id='pass' /><BR />
wachtwoord (ter bevestiging) : <input type='password' name='pass2' id='pass2' /><br />
<input type='hidden' name='uni' value=$uni />
<div style='display: none;'><input type='text' name='geenreclame' id='geenreclame' /></div>
<br />
<input type='submit' value='Registreren' id='submit' />
</form></div>[/JS]
Het gaat hier echter mis bij het checken van de username, hij geeft constant aan dat de gebruikersnaam niet lang genoeg is, ondanks het feit dat dit wel zo is.
Waar gaat het mis?
Het gaat dan vooral om deze stukjes code denk ik.
[JS]function check_username(elem, min, max){
var uInput = elem.value;
var alphaUsername = /^[a-zA-Z0-9 _ '']+$/;
if(elem.value.length >= 4){
if(elem.value.length <= 12){
if(elem.value.match(alphaUsername)){
return true;
}
else{
alert('Gebruikersnaam mag alleen letters cijfers en een underscore bevatten (_) ');
return false;
}
}
}else{
alert('De gebruikersnaam moet uit minimaal 4 en mag uit maximaal 12 karakters bestaan.');
elem.focus();
return false;
}
}[/JS]
en
[JS]
var username = document.getElementById('username');
if(check_username(username, 4, 12)){[/JS]
Alvast bedankt!
Laatst bewerkt door een moderator: