Avatar billede saxtus Nybegynder
14. september 2003 - 23:13 Der er 9 kommentarer og
1 løsning

validering af tekst

Jeg er i gang med at lave en indtastningsboks hvor mine krav til validering er følgende:
Fra a-å 0-9 altså bare tekst og så max 250 tegn.

jeg har noget kode fra noget andet validering, men jeg har det problem at når jeg laver mellemrum kommer fejlboksen.

Det her er hvad jeg har af kode:

  if(f.tekst.value==''||!f.tekst.value.match((/^[a-å\d_\- ]{1,250}$/)))    {       
    alert('Du skal udfylde beskrivelsen, dog max 250 tegn!');
    f.tekst.focus();
    return false;
  }

Hvis der er nogen der har en der samtidig tæller tegn vil jeg være meget interesseret
Avatar billede roenving Novice
15. september 2003 - 00:14 #1
æøå hører ikke med i sekvenserne - og må den også tage store bogstaver ?-)
Avatar billede roenving Novice
15. september 2003 - 00:20 #2
if(!f.mitTextarea.value.match((/^[\wæøå\- ]{1,250}$/i)))    {       
    alert('Du skal udfylde beskrivelsen, dog max 250 tegn!');
    f.mitTextarea.focus();
    return false;
  }
Avatar billede saxtus Nybegynder
15. september 2003 - 07:42 #3
Æøå må godt komme med, og der må oogså godt være store bogstaver.
Jeg vd egentligt ikke om det er nødvendigt at validere det indtastede, bare der max er 250 tegn. Der skal jo også være mulighed for special tegn mm.

Ved du hvor jeg kan finde et script der tæller bogstaver??
Avatar billede ldanielsen Nybegynder
15. september 2003 - 12:01 #4
vil du ikke have mellemrum, komma, bindestreger mv. i boksen?

Er det en <input> eller et <textarea>
Avatar billede saxtus Nybegynder
15. september 2003 - 16:32 #5
det er et <textarea> og jeg har mere eller mindre fundet ud af det selv, men har bare et lille problem.
Jeg har et javascript som køre på siden i forvejen og kan ikke lige hitte ud af at sætte det andet ind i det

her er det der ligger på siden:
<script type="text/javascript">

function validering(f){
  if(f.kategori.value=='0')    {       
    alert('Du skal vælge en kategori!');
    f.kategori.focus();
    return false;
  }

  if(f.overskrift.value=='')    {       
    alert('Du skal udfylde feltet med en overskrift!');
    f.overskrift.focus();
    return false;
  }

 
  if(f.tekst.value==''||!f.tekst.value.match((/^[a-å\d_\- ]{1,250}$/)))    {       
    alert('Du skal udfylde beskrivelsen, dog max 250 tegn!');
    f.tekst.focus();
    return false;
  }


if(f.pris.value==''||!f.pris.value.match(/^\d{1,7}$/))    {       
    alert('Der skal indtastes varens pris!\nPriser fra 0 til 9.999.999');
    f.pris.focus();
    return false;
  }
}
</script>

og her er så det jeg selv har lavet:

<html>
<head>
<script type="text/javascript">
function TekstLaengde( Formen ) {
  b1 = Formen.tekst.value.length 
    return b1
}

function updatetegntilbage( Formen ) {
  tegntilbage = 250 - TekstLaengde( Formen )
  Formen.tegntilbage.value = tegntilbage
}
</script>
</head>
<body>

  <form action="opret_annonce_2.php" method="post" onsubmit="return TekstLaengde(this);">
  <label for="t3">Beskrivelse:</label><br />
  <textarea name="tekst" rows="5" cols="80"
    onkeyup="updatetegntilbage(this.form)"   
    onchange="updatetegntilbage(this.form)"
    onkeypress="updatetegntilbage(this.form)"></textarea><br />

  <input type="text" name="tegntilbage" size="3" value="250"
  onfocus="blur()"/> anslag tilbage<br />
  <input type="submit" value="Send besked" />
  </form>
  </body>
</html>
Avatar billede saxtus Nybegynder
15. september 2003 - 16:33 #6
det er altså det her som skal tilpasses i det øverste:

<script type="text/javascript">
function TekstLaengde( Formen ) {
  b1 = Formen.tekst.value.length 
    return b1
}

function updatetegntilbage( Formen ) {
  tegntilbage = 250 - TekstLaengde( Formen )
  Formen.tegntilbage.value = tegntilbage
}
</script>
Avatar billede roenving Novice
15. september 2003 - 17:03 #7
Jamen, hvorfor bruger du det ikke bare med den rettelse, jeg lavede ?-)

:alle tal og bogstaver, store og små samt bindestreg og mellemrum er tilladt, dog ikke udover 250 tegn - og der _skal_ være mindst eet !-)
Avatar billede saxtus Nybegynder
15. september 2003 - 17:09 #8
det er fordi jeg gerne vil have den skal tælle ned fra 250 og til 0, det kommer til at give brugeren nemmere ved at indtaste under 250 tegn
Avatar billede saxtus Nybegynder
15. september 2003 - 19:56 #9
nå nu fik jeg det næsten til at virke, den tæller bare ikke mellemrum med som indtastning
Avatar billede saxtus Nybegynder
20. september 2003 - 20:18 #10
sådan - jeg er vildt heldig med min kode :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester