webForumDet fria alternativet

lägga till ett script i scriptet

3 svar · 337 visningar · startad av FunTrix

FunTrixMedlem sedan okt. 2003118 inlägg
#1

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&auml;ret &raquo;"> 
</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
#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;
}
[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
#3

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
#4
<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>
132 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)