Just nu i M3-nätverket
Jump to content

formulärkontrollering


kryxz

Recommended Posts

Finns här någon som kan berätta för mig varför funktionen för o kontrollera längden av postnummer inte fungerar? detta var enda sättet jag fick ihop där jag inte fick felmeddelanden...

(javascript e väl inte direkt d jag kan bäst =) )

 

 

 

<script language="JavaScript">

function tecken() {

 

if (document.registrering.username.value.length > 2) {

 

for (var i = 0; i < document.registrering.username.value.length; i++) {

 

if (document.registrering.username.value.charAt(i) == "a" || document.registrering.username.value.charAt(i) == "b" || document.registrering.username.value.charAt(i) == "c" || document.registrering.username.value.charAt(i) == "d" || document.registrering.username.value.charAt(i) == "e" || document.registrering.username.value.charAt(i) == "f" || document.registrering.username.value.charAt(i) == "g" || document.registrering.username.value.charAt(i) == "h" || document.registrering.username.value.charAt(i) == "i" || document.registrering.username.value.charAt(i) == "j" || document.registrering.username.value.charAt(i) == "k" || document.registrering.username.value.charAt(i) == "l" || document.registrering.username.value.charAt(i) == "m" || document.registrering.username.value.charAt(i) == "n" || document.registrering.username.value.charAt(i) == "o" || document.registrering.username.value.charAt(i) == "p" || document.registrering.username.value.charAt(i) == "q" || document.registrering.username.value.charAt(i) == "r" || document.registrering.username.value.charAt(i) == "s" || document.registrering.username.value.charAt(i) == "t" || document.registrering.username.value.charAt(i) == "u" || document.registrering.username.value.charAt(i) == "v" || document.registrering.username.value.charAt(i) == "w" || document.registrering.username.value.charAt(i) == "x" || document.registrering.username.value.charAt(i) == "y" || document.registrering.username.value.charAt(i) == "z" || document.registrering.username.value.charAt(i) == "A" || document.registrering.username.value.charAt(i) == "B" || document.registrering.username.value.charAt(i) == "C" || document.registrering.username.value.charAt(i) == "D" || document.registrering.username.value.charAt(i) == "E" || document.registrering.username.value.charAt(i) == "F" || document.registrering.username.value.charAt(i) == "G" || document.registrering.username.value.charAt(i) == "H" || document.registrering.username.value.charAt(i) == "I" || document.registrering.username.value.charAt(i) == "J" || document.registrering.username.value.charAt(i) == "K" || document.registrering.username.value.charAt(i) == "L" || document.registrering.username.value.charAt(i) == "M" || document.registrering.username.value.charAt(i) == "N" || document.registrering.username.value.charAt(i) == "O" || document.registrering.username.value.charAt(i) == "P" || document.registrering.username.value.charAt(i) == "Q" || document.registrering.username.value.charAt(i) == "R" || document.registrering.username.value.charAt(i) == "S" || document.registrering.username.value.charAt(i) == "T" || document.registrering.username.value.charAt(i) == "U" || document.registrering.username.value.charAt(i) == "V" || document.registrering.username.value.charAt(i) == "W" || document.registrering.username.value.charAt(i) == "X" || document.registrering.username.value.charAt(i) == "Y" || document.registrering.username.value.charAt(i) == "Z" || document.registrering.username.value.charAt(i) == "_" || document.registrering.username.value.charAt(i) == "0" || document.registrering.username.value.charAt(i) == "1" || document.registrering.username.value.charAt(i) == "2" || document.registrering.username.value.charAt(i) == "3" || document.registrering.username.value.charAt(i) == "4" || document.registrering.username.value.charAt(i) == "5" || document.registrering.username.value.charAt(i) == "6" || document.registrering.username.value.charAt(i) == "7" || document.registrering.username.value.charAt(i) == "8" || document.registrering.username.value.charAt(i) == "9") {

}

else

alert("Du får bara använda dig av tecknen a-z, A-Z, 0-9 och _ i användarnamnet")

break

}

}

 

else { alert("Ditt användarnamn måste vara minst 3 tecken långt!") }

 

 

if (document.registrering.postnummer.value.length = 5) {

 

for (var b = 0; b < document.registrering.postnummer.value.length; b++) {

 

if (document.registrering.postnummer.value.charAt(B) == "0" || document.registrering.postnummer.value.charAt(B) == "1" || document.registrering.postnummer.value.charAt(B) == "2" || document.registrering.postnummer.value.charAt(B) == "3" || document.registrering.postnummer.value.charAt(B) == "4" || document.registrering.postnummer.value.charAt(B) == "5" || document.registrering.postnummer.value.charAt(B) == "6" || document.registrering.postnummer.value.charAt(B) == "7" || document.registrering.postnummer.value.charAt(B) == "8" || document.registrering.postnummer.value.charAt(B) == "9") {

}

else

alert("Du har angivit ett felaktigt postnummer!")

break

}

}

else { alert("Du har angivit ett felaktigt postnummer!") }

 

}

 

</script>

 

[inlägget ändrat 2002-10-27 23:42:39 av kryxz]

Link to comment
Share on other sites

Koden kan ju naturligtvis bli snyggare, men...

 

if (document.registrering.postnummer.value.length = 5) {

 

Om du ska jämföra någonting så behöver du två stycken likhetstecken.. så det ska bli:

 

if (document.registrering.postnummer.value.length == 5) {

 

Ciao,

Anders

 

Link to comment
Share on other sites

hade testat d men troligen efter att ha pillat me ngt annat också =) tackar så mkt iaf.. problemet löst iaf.. vet du om man kan korta ner koden för vilka tecken som ska tillåtas?

 

Link to comment
Share on other sites

Med regularexpressions till exempel...

 

Jag har inte testat koden nedan, så.. den kanske inte fungerar :)

 

<script language="javascript">
function Testa(str, patt)
{
  var re = new RegExp(patt);
  return re.test(str);
}

function tecken(){
  if (!Testa(document.registrering.username.value, "^[a-zA-Z0-9]{3,15}$"))
  {
     alert("Felaktigt användarnamn!");
     return false;
  }
  if (!Testa(document.registrering.postnummer.value, "^[0-9]{5}$"))
  {
     alert("Felaktigt postnummer!");
     return false;
  }

  return true;
}
</script>

 

Du skickar alltså in till "Testa()" vad du vill testa, samt hur den strängen ska se ut... Finns fullt med information om regular expressions på nätet..

 

Exempel:

^[a-zA-Z0-9]{3,15}$

^ = ska börja med detta

[a-zA-Z0-9] = ett tecken, a-z, A-Z eller 0-9

{3,15} = mellan 3 och 15 av det

$ = ska sluta med detta

----

 

Exempel:

Man kan kolla att ett personnummer har rätt format med följande:

^[0-9]{6}-[0-9]{4}$

 

Ciao,

Anders

- pömsig

 

[inlägget ändrat 2002-10-28 02:02:45 av Anders N]

Link to comment
Share on other sites

ska testa det, tackar så mycket.. måste lära mig javascript ordentligt en dag.. problemet är att man nästan aldrig har användning för det..

 

poäng o ett stort tack till dig iaf

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...