Wordpress med Personnummer validator
Hej, letar efter efter ett skript jag kan använda i wordpress som kontrollerar ifall personnumret är rätt inskrivet i ett formulär.
Använde den här innan men fungerar inte i wordpress:
</script>
<script type="text/javascript">
function MM_validateForm() { //v4.0
if (document.getElementById){
var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' saknas giltig adress.\n';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' får endast bestå av siffror.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (num<min || max><num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' saknas.\n'; }
} if (errors) alert('Felmeddelandet:\n'+errors);
document.MM_returnValue = (errors == '');
} }
></script>
<script type="text/javascript">
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>
<script language="Javascript">
function checkform(frm){
if (frm.mobilnummer.value.length < 10){
alert("Telefonnummer saknas eller är felaktigt.")
return false
}
if(! (new personnummer(frm.personnumret.value).valid)){
alert("Ogiltigt personnummer")
return false
}
}
</script>
<form name="form1" action="form.php" method="POST" onSubmit="return checkform(this)">
<table width="750" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<th colspan="2" align="left" class="style73" scope="col"> <p>Personnummer
<label> (ååddmmxxxx) </label>
<input name="personnumret" type="text" size="32" maxlength="10"/>
<br />
E-post
<input name="epost" type="text" id="epost" size="32" maxlength="45" />
<br />Mobilnummer
<input name="mobilnummer" size="32" maxlength="10" />
<br /><input type="submit" onclick="MM_validateForm('epost','','RisEmail');return document.MM_returnValue" value="Beställ kostnadsfritt"
STYLE="background:#ea0d0d none; color:#ffffff;"/>
</p></th>
</tr>
</table>
</form>