Avatar billede nitz Nybegynder
18. juni 2003 - 18:55 Der er 11 kommentarer og
1 løsning

form uden = og '

Hej alle,

Jeg har et login system hvor man kan logge ind via en simpelt bruger og kodeord formular.

Jeg skal nu sørge for at den ikke accepterer hvis man skriver ' og/eller = tegnene...rent faktisk må den KUN acceptere a-å og 0-9 , altså ingen andre tegn.

Jeg har prøvet at søge alle steder, men kan ikke finde noget på det, så jeg håber jeg er i den rette kategori.

Er der nogen der kan lave sådan et lille script til mig, for jeg er helt blank?

Med venlig hilsen

Tommy Nitz
Avatar billede roenving Novice
18. juni 2003 - 19:02 #1
function testKode(kodeord){
var regex = /^[æøåÆØÅ\w]+$/i //matcher æøå a-z, 0-9 og _

if (!regex.test(kodeord)){
  alert("Fejl i kodeord");
}
}
Avatar billede nitz Nybegynder
18. juni 2003 - 20:20 #2
hej roenving.

Hvordan implementerer jeg den i min formular, som ser sådan ud:

<form action=brugeradgang.asp method=post>
    <font face=tahoma size=2 color=#000000>
    Brugernavn:<br>
    <input type=text name=brugernavn><br>
    Password:<br>
    <input type=text name=kodeord><br>
    <br>
    <input type=submit value="Gå ind">
    </form>

Jeg har prøvet lidt forskelligt, men den vil ikke reagere.
Avatar billede roenving Novice
18. juni 2003 - 20:27 #3
<form action=brugeradgang.asp method=post onsubmit="return testKode(this);">

og så koden sådan:

<SCRIPT LANGUAGE="javascript" TYPE="text/javascript">
function testKode(f){
kodeord = f.kodeord.value;
var regex = /^[æøåÆØÅ\w]+$/i //matcher æøå a-z, 0-9 og _

if (!regex.test(kodeord)){
alert('Fejl i kodeord');
f.kodeord.select();
f.kodeord.focus();
return false;
}else{
return true;
}
</SCRIPT>

-- så vil den undlade at submitte og sætte focus på kodeordet hvis betingelsen for kodeordet ikke opfyldes ...
Avatar billede Slettet bruger
19. juni 2003 - 11:16 #4
roenving>> Din else-sætning er overflødig. Hvis funktionen returnerer en værdi, bliver resten jo ikke behandlet, og derfor kan du bare skrive return true.
I øvrigt behøver du jo ikke skrive æøåÆØÅ, når du har valgt ignore case. Alt i alt:

<script type="text/javascript">
function testKode(f) {
  kodeord = f.kodeord;
  if (!kodeord.value.match(/^[a-zæøå0-9]+$/i)) {
    alert("Fejl i kodeord!");
    kodeord.select();
    kodeord.focus();
    return false;
  }
  return true;
}
</script>
Avatar billede Slettet bruger
19. juni 2003 - 11:24 #5
Hov, det er ikke smart at have en variabel med samme navn som et element på siden. Ændr enten det ene eller det andet.
Avatar billede roenving Novice
19. juni 2003 - 13:48 #6
-- enig ,-)
Avatar billede roenving Novice
19. juni 2003 - 13:49 #7
-- og det der med de store skandinaviske var jeg ikke sikker på, så hellere hav dem med ...
Avatar billede Slettet bruger
19. juni 2003 - 14:47 #8
Jep. :)
Avatar billede olebole Juniormester
19. juni 2003 - 15:50 #9
<ole>

I JavaScript må man ikke bruge æ, ø og å - men bør bruge \346, \370 og \345.
Det gælder naturligvis også i RegExp under JavaScript  :)

/mvh
</bole>
Avatar billede Slettet bruger
20. juni 2003 - 09:10 #10
Ja, det er klart. Men det er vel grænser for pertentligheden? :)

if (!kodeord.value.match(/^[a-z\346\370\3450-9]+$/i)) {
Avatar billede nitz Nybegynder
15. februar 2005 - 12:20 #11
Hej Phoenixv,

Jeg har lige fundet dette ubesvarede spørgsmål, gider du give et svar, så får du dine point.

Tak for hjælpen forresten, selvom det jo efterhånden er lidt siden ;)

Mvh

Tommy
Avatar billede Slettet bruger
16. februar 2005 - 15:01 #12
Det var så lidt. :)
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