webForumDet fria alternativet
Logga in / Bli medlem

input med indatamask.

JavaScript

5 svar · 238 visningar · startad av room

Medlem sedan mars 2001270 inlägg
Trådstart#1

Hejsan.. jag håller på med en sida där man ska skriva in organisationsnummer/personnummer i en inputruta. Jag vill ha en kontroll för att org.numret är ifyllt enligt standarden

XXXXXX-XXXX

Där X är en siffra mellan 0 och nio. Någon som har en idé om hur man kan lösa det?

Jag skulle även vilja ha en kontroll för om postnummer är ett nummer som börjar på 681.

Tacksam för svar...

Medlem sedan juni 20004 308 inlägg
#2

Jag vill ha en kontroll för att org.numret är ifyllt enligt standarden

XXXXXX-XXXX

Där X är en siffra mellan 0 och nio. Någon som har en idé om hur man kan lösa det?

Varför nöja sig med det när det finns färdiga objekt som kollar mer än så? :)

Jag skulle även vilja ha en kontroll för om postnummer är ett nummer som börjar på 681.

Det kan se ut så här;

if(kollaPostnummer(nummret_som_du_vill_kolla)){
   // numret stämde
} else {
   // stämde inte
}

function kollaPostnummer(postnummer){
	return !!postnummer.match(/^681(\s?)(\d{2})$/)
}

"681 12" är ok, "68112" är ok.
"680 12" är inte ok, "681AB" är inte ok, "681681" är inte ok.

Medlem sedan mars 2001270 inlägg
#3

ang org. nr...

Hittade denna funktion för att kolla organisationsnummer. Den var väldigt bra men jag förstår inte riktigt hur jag ska koppla den till min funktion som kontrollerar resten av formuläret.

function organisationsnummer(nr){
	this.valid=false;
	if(!nr.match(/^(\d{1})(\d{5})\-(\d{4})$/)){ return false; }
	this.group=RegExp.$1;
	this.controldigits=RegExp.$3;
	this.alldigits=this.group+RegExp.$2+this.controldigits;
	if(this.alldigits.substring(2,3)<2){ return false }
	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;
}

Min funktion för att kontrollera forumulärets övriga fält ser ut så här:

function validate_form()
	{
		if (document.form1.antal.value == "")
				{
				alert('Du måste fylla i antal.');
				document.form1.antal.focus();
				return false;
				}
		if (document.form1.pris.value == "")
				{
				alert('Du måste fylla i pris.');
				document.form1.pris.focus();
				return false;
				}	

	document.form1.submit();
	}

Hur gör jag för att implementera organisationsnummer funktionen i mitt befintliga script? Inputrutan där man skriver organisationsnummer heter bet_orgnr

Tacksam för svar...

Medlem sedan juni 20004 308 inlägg
#4

var myOrgNr=[b]new[/b] organisationsnummer(document.form1.antal.bet_orgnr.value);
if(!myOrgNr.valid){
   alert('Fel organisationsnummer');
   document.form1.bet_orgnr.focus();
   return false;
}
Medlem sedan mars 2001270 inlägg
#5

nu är jag tjatig kanske..

Hej igen Jojoxx och alla andra...

Nu blir det fel... När jag skriver fel organisationsnummer så kommer dialogrutan upp, men när jag skriver ett rätt orgnummer så får jag följande javascript-felmeddelande:

'valid' är null eller inte ett objekt

Tacksam för mer hjälp.

Medlem sedan juni 20004 308 inlägg
#6

Mitt fel. Jag missade nyckelordet "new". Se exempet nu.

255 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)