Hej
Jag har försökt sätta ihop 2 skript. Nu funkar det inte alls.
Det gick åt skogen när jag lade till övre delen som ska kolla av om personnumret är ok.
Jag ville att det skulle funka med ett enda functions anrop från onSubmit.
Nu är det nog här det går fel:
if (!validatePNum(document.f.personnumber.value))
Här kommer hela klabbet. Nån som orkar? Skulle bli så glad!
<script type="text/javascript" language="javascript">
<!--
function validatePNum(sPNum)
{
var numbers = sPNum.match(/^(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)$/);
var checkSum = 0;
var d = new Date();
if (!isDate(sPNum.substring(0,4),sPNum.substring(4,6),sPNum.substring(6,8))) {
alert("Datumet " + sPNum.substring(0,8) + " är inte korrekt.");
return false;
}
if (numbers == null) { return false; }
var n;
for (var i = 3; i <= 12; i++)
{
n=parseInt(numbers[i]);
if (i % 2 == 0) {
checkSum+=n;
} else {
checkSum+=(n*2)%9+Math.floor(n/9)*9
}
}
if (checkSum%10==0) { return true;}
return false;
}
function getYear(y) { return (y < 1000) ? y + 1900 : y; }
function isDate(year, month, day)
{
month = month - 1; // 0-11 in JavaScript
var tmpDate = new Date(year,month,day);
if ( (getYear(tmpDate.getYear()) == year) &&
(month == tmpDate.getMonth()) &&
(day == tmpDate.getDate()) )
return true;
else
return false;
}
function checkregister(){
var f = document.registerForm;
if (!validatePNum(document.f.personnumber.value))
{
alert ("Vänligen fyll i korrekt personnummer.");
f.elements['personnumber'].focus;
return false;
}
if( f.elements['firstname'].value == "")
{
alert ("Vänligen ange ditt förnamn.");
f.elements['firstname'].focus;
return false;
}
var mail = f.elements['email'].value;
if ( mail != "" ) {
if( ( mail.indexOf( '@') == -1 ) || ( mail.indexOf( '.') == -1 ) || ( mail.indexOf( '@') < 1 ) || ( mail.indexOf( '.') < 1 ) )
{
f.elements['email'].style.backgroundColor = '#eaeaea';
alert ("Vänligen ange en korrekt e-postadress om du har någon. Annars lämna fältet tomt.");
f.elements['email'].focus();
return false;
}
else return true;
}
}
//-->
</script>
<form action="#" id="registerForm" onsubmit="return checkregister();" name="registerForm">
<input name="personnumber" type="text">
<input name="email" type="text">
<input name="firstname" type="text">
<input value="Klicka" type="Submit" />