FunTrixMedlem sedan okt. 2003118 inlägg hejsan...
hittade ett script på jojoxx som kontrollerar personnr, nu är det så att jag skulle vilja ha med detta script i ett script som kontrollerar att fler saker är i fyllt och rätt i fyllt....
jag skulle alltså vilja ha med detta script:
<script type="text/javascript">
/* The code contained in this file is copyrighted by [url]www.jojoxx.net[/url]
The file may be used for none commercial applications and distributed
as long as these lines remain intact. The file or part of it may not
be sold or included in any other commercial application without
agreement from the author. If you have questions or comments, contact
the author at [url]http://www.jojoxx.net[/url]
© Copyright - [url]www.jojoxx.net[/url] - 2004 */
function personnummer(nr){
this.valid=false;
if(!nr.match(/^(\d{2})(\d{2})(\d{2})\-(\d{4})$/)){ return false; }
this.now=new Date(); this.nowFullYear=this.now.getFullYear()+""; this.nowCentury=this.nowFullYear.substring(0,2); this.nowShortYear=this.nowFullYear.substring(2,4);
this.year=RegExp.$1; this.month=RegExp.$2; this.day=RegExp.$3; this.controldigits=RegExp.$4;
this.fullYear=(this.year*1<=this.nowShortYear*1)?(this.nowCentury+this.year)*1:((this.nowCentury*1-1)+this.year)*1;
var months = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
if(this.fullYear%400==0||this.fullYear%4==0&&this.fullYear%100!=0){ months[1]=29; }
if(this.month*1<1||this.month*1>12||this.day*1<1||this.day*1>months[this.month*1-1]){ return false; }
this.alldigits=this.year+this.month+this.day+this.controldigits;
var nn="";
for(var n=0;n<this.alldigits.length;n++){ nn+=((((n+1)%2)+1)*this.alldigits.substring(n,n+1)); }
this.checksum=0;
for(var n=0;n<nn.length;n++){ this.checksum+=nn.substring(n,n+1)*1; }
this.valid=(this.checksum%10==0)?true:false;
this.sex=parseInt(this.controldigits.substring(2,3))%2;
}
</script>
<form onsubmit="if(new personnummer(this.pnr.value).valid){ alert('Giltigt personnummer'); } else { alert('0giltigt personnummer'); }; return false;">
Personnummer: <input type="text" name="pnr"> <input type="submit" value="Kontrollera">
</form>
i detta script:
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! [url]http://javascript.internet.com[/url] -->
function checkFields() {
missinginfo = "";
if (document.kontakt.namn.value == "") {
missinginfo += "\n - Namn";
}
if (document.kontakt.adress.value == "") {
missinginfo += "\n - Adress";
}
if ((document.kontakt.email.value == "") ||
(document.kontakt.email.value.indexOf('@') == -1) ||
(document.kontakt.email.value.indexOf('.') == -1)) {
missinginfo += "\n - Epostadress";
}
if(document.kontakt.meddelande.value == "") {
missinginfo += "\n - Meddelande";
}
if (missinginfo != "") {
missinginfo ="_____________________________\n" +
"Du har inte fyllt i fälten:\n" +
missinginfo + "\n_____________________________" +
"\nFyll i de angivna fälten innan du skickar formuläret!";
alert(missinginfo);
return false;
}
else return true;
}
</script>
</HEAD>
<BODY>
<form name = "kontakt" onSubmit="return checkFields();" action = "">
<table border = 0 cellpadding = 5 cellspacing = 0>
<tr>
<td> Namn:<br> <input name = "namn" type = "TEXT">
</td>
</tr>
<tr>
<td>Adress:<br>
<input name = "adress" type = "TEXT"></td>
</tr>
<tr>
<td>Epostadress:<br> <input name = "email" type = "TEXT"></td>
</tr>
<tr>
<td> Meddelande:<br> <textarea name = "meddelande" cols = "40" rows = "5">
</textarea></td>
</tr>
<tr>
<td> <input name="SUBMIT" type = "SUBMIT" value = "Skicka formuläret »">
</td>
</tr>
</table>
</form>
</BODY>
finns det någon som kan hjälpa mig att lägga in personnr scriptet i scriptet som kontrollerar vad som är ifyllt?
ni kan lägga till en ny textbox som kollar personnr lr så tar ni bara någon gammal, t.ex. namn...
det kvittar, vill bara se hur det ser ut.
Peter SMedlem sedan dec. 20025 483 inlägg function checkFields() {
missinginfo = "";
if (document.kontakt.namn.value == "") {
missinginfo += "\n - Namn";
}
if (document.kontakt.adress.value == "") {
missinginfo += "\n - Adress";
}
if ((document.kontakt.email.value == "") ||
(document.kontakt.email.value.indexOf('@') == -1) ||
(document.kontakt.email.value.indexOf('.') == -1)) {
missinginfo += "\n - Epostadress";
}
if(document.kontakt.meddelande.value == "") {
missinginfo += "\n - Meddelande";
}
if (missinginfo != "") {
missinginfo ="_____________________________\n" +
"Du har inte fyllt i fälten:\n" +
missinginfo + "\n_____________________________" +
"\nFyll i de angivna fälten innan du skickar formuläret!";
alert(missinginfo);
return false;
}
[b]
if (!new personnummer(document.kontakt.pnr.value).valid){
alert("Felaktigt personnummer");
return false;
}
[/b]
else return true;
}
<form name = "kontakt" onSubmit="return checkFields();" action = "">
<table border = 0 cellpadding = 5 cellspacing = 0>
<tr>
<td> Namn:<br> <input name = "namn" type = "TEXT">
</td>
</tr>
[b]<tr>
<td> Pnr:<br> <input name = "pnr" type = "TEXT">
</td>
</tr>[/b]
<tr>
<td>Adress:<br>
<input name = "adress" type = "TEXT"></td>
</tr>
<tr>
<td>Epostadress:<br> <input name = "email" type = "TEXT"></td>
</tr>
<tr>
<td> Meddelande:<br> <textarea name = "meddelande" cols = "40" rows = "5">
</textarea></td>
</tr>
<tr>
<td> <input name="SUBMIT" type = "SUBMIT" value = "Skicka formuläret »">
</td>
</tr>
</table>
</form>
FunTrixMedlem sedan okt. 2003118 inlägg en liten fråga bara, vart lägger jag scriptet som kontrollerar att personnr är rätt?
Så som jag kan se så har inte du lagt in det utan bara ett medelande om det är felaktigt, men vart ska alltså scriptet för att kolla om det är felaktigt ligga?
Peter SMedlem sedan dec. 20025 483 inlägg <script type="text/javascript">
/* The code contained in this file is copyrighted by [url]www.jojoxx.net[/url]
The file may be used for none commercial applications and distributed
as long as these lines remain intact. The file or part of it may not
be sold or included in any other commercial application without
agreement from the author. If you have questions or comments, contact
the author at [url]http://www.jojoxx.net[/url]
© Copyright - [url]www.jojoxx.net[/url] - 2004 */
function personnummer(nr){
this.valid=false;
if(!nr.match(/^(\d{2})(\d{2})(\d{2})\-(\d{4})$/)){ return false; }
this.now=new Date(); this.nowFullYear=this.now.getFullYear()+""; this.nowCentury=this.nowFullYear.substring(0,2); this.nowShortYear=this.nowFullYear.substring(2,4);
this.year=RegExp.$1; this.month=RegExp.$2; this.day=RegExp.$3; this.controldigits=RegExp.$4;
this.fullYear=(this.year*1<=this.nowShortYear*1)?(this.nowCentury+this.year)*1:((this.nowCentury*1-1)+this.year)*1;
var months = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
if(this.fullYear%400==0||this.fullYear%4==0&&this.fullYear%100!=0){ months[1]=29; }
if(this.month*1<1||this.month*1>12||this.day*1<1||this.day*1>months[this.month*1-1]){ return false; }
this.alldigits=this.year+this.month+this.day+this.controldigits;
var nn="";
for(var n=0;n<this.alldigits.length;n++){ nn+=((((n+1)%2)+1)*this.alldigits.substring(n,n+1)); }
this.checksum=0;
for(var n=0;n<nn.length;n++){ this.checksum+=nn.substring(n,n+1)*1; }
this.valid=(this.checksum%10==0)?true:false;
this.sex=parseInt(this.controldigits.substring(2,3))%2;
}
function checkFields() {
missinginfo = "";
if (document.kontakt.namn.value == "") {
missinginfo += "\n - Namn";
}
if (document.kontakt.adress.value == "") {
missinginfo += "\n - Adress";
}
if ((document.kontakt.email.value == "") ||
(document.kontakt.email.value.indexOf('@') == -1) ||
(document.kontakt.email.value.indexOf('.') == -1)) {
missinginfo += "\n - Epostadress";
}
if(document.kontakt.meddelande.value == "") {
missinginfo += "\n - Meddelande";
}
if (missinginfo != "") {
missinginfo ="_____________________________\n" +
"Du har inte fyllt i fälten:\n" +
missinginfo + "\n_____________________________" +
"\nFyll i de angivna fälten innan du skickar formuläret!";
alert(missinginfo);
return false;
}
if (!new personnummer(document.kontakt.pnr.value).valid){
alert("Felaktigt personnummer");
return false;
}
else return true;
}
</script>
<form name = "kontakt" onSubmit="return checkFields();" action = "">
<table border = 0 cellpadding = 5 cellspacing = 0>
<tr>
<td> Namn:<br> <input name = "namn" type = "TEXT">
</td>
</tr>
<tr>
<td> Pnr:<br> <input name = "pnr" type = "TEXT">
</td>
</tr>
<tr>
<td>Adress:<br>
<input name = "adress" type = "TEXT"></td>
</tr>
<tr>
<td>Epostadress:<br> <input name = "email" type = "TEXT"></td>
</tr>
<tr>
<td> Meddelande:<br> <textarea name = "meddelande" cols = "40" rows = "5">
</textarea></td>
</tr>
<tr>
<td> <input name="SUBMIT" type = "SUBMIT" value = "Skicka formuläret »">
</td>
</tr>
</table>
</form>