Avatar billede swasper Nybegynder
08. marts 2001 - 17:03 Der er 8 kommentarer og
1 løsning

Bogstave tjek!

Jeg har følgende linie i et JavaScript der tjekker efter om adressen kun består af bogstaver og tal...

if (!/\\D+\\d/.test(thisform.ADRESSE.value))

Nu vil jeg gerne have en linie som denne der skal tjekke om et navn kun er skrevet med bogstaver, men hvad skal jeg så skrive ?

Avatar billede jespernaur Nybegynder
08. marts 2001 - 18:08 #1
Det anførte regulære udtryk tester, at adressen indeholder et eller flere \'ikke-cifre\' (\\D+)efterfulgt af et ciffer (\\d). Et \'ikke-ciffer\' er alt andet end cifre, herunder tegnene !@#$%^& skal jeg bemærke! Hvis du strengt ønsker, at feltet kun må indeholde bogstaver, kan du anvende

/^[A-ZÆØÅa-zæøå]+$/

Hvis der skal tillades blanktegn, men at feltet ikke må være tomt eller udelukkende bestå af blanke, kan man sige

/^[A-ZÆØÅa-zæøå][A-ZÆØÅa-zæøå ]+$/

hvilket angiver, at det første tegn skal være et ikke-blankt bogstav, mens der efterfølgende gerne må forekomme blanktegn.

Mvh
Jesper Naur
Avatar billede swasper Nybegynder
08. marts 2001 - 19:06 #2
det virker ikke rigtigt når jeg sætter det ind i mit script....scriptet er her...kan du ikke fortælle mig hvad det er der er galt :!?

if (thisform.NAVN.value == \"\")
{
  strError = strError + \'-Navn mangler\\n\'
  intError = 1;
  thisform.NAVN.blur();
} else {
  if ( /^[A-ZÆØÅa-zæøå ] [A-ZÆØÅa-zæøå ]+$/.test(this.form.NAVN.value) ) {
    strError = strError + \'-ikke et gyldigt navn\\n\'
    intError = 1;
    thisform.NAVN.blur();
  } 
};
Avatar billede jakoba Nybegynder
08. marts 2001 - 20:48 #3

  if ( /[^A-ZÆØÅa-zæøå]/.test( streng ) ) {
    alert(\"Der er andet end bogstaver i strengen: \"+streng );
  } else {
    // strengen er lavet af bar bogstaver
  };

  if ( /[^A-ZÆØÅa-zæøå0-9]/.test( streng ) ) {
    alert(\"Der er andet end bogstaver og cifre i strengen: \"+streng );
  } else {
    // strengen er lavet af bar bogstaver
  };

  if (  !/^[A-ZÆØÅa-zæøå]/.test( streng )
      || /[^A-ZÆØÅa-zæøå0-9 ]/.test( streng ) ) {
    alert(\"Der er andet end bogstaver i strengen: \"+streng );
  } else {
    // strengen starter med et bogstav fulgt af bogstaver, cifre
    // og blanktegn
  };

Den tredie kan såmænd nok også laves med en enkelt regExp, men jeg synes det er mere forståeligt med det logiske udtryk.

mvh www.fotx.net/JakobA
Avatar billede jespernaur Nybegynder
08. marts 2001 - 21:03 #4
Du er kommet til at indsætte to overflødige blanktegn. Der
må kun være 1 blanktegn, umiddelbart før den sidste forekomst af \']\'.
Der må IKKE være blanktegn her: \'å<blank>]<blank>[\'.
Avatar billede swasper Nybegynder
08. marts 2001 - 21:38 #5
jespernaur >> okay nu har jeg ændret det du sagde, men det virker stadigvæk ikke, hvis man f.eks. bare lever et blankt felt i navne feltet og så trykker på submit knappen....så bliver mailen alligevel sendt, hvilket der jo ikke er meningen!
Avatar billede jespernaur Nybegynder
08. marts 2001 - 23:59 #6
Så må der jo være en yderligere fejl, da den kode du har vist explicit tester på tomt felt, og i dette tilfælde slet ikke benytter det regulære udtryk. Hvad får du i strError (og måske skulle du vise lidt mere kode, mindst hen til afsendelsen af mailen)?

Mvh
Jesper Naur
Avatar billede swasper Nybegynder
09. marts 2001 - 14:34 #7
jespernaur >> jeg får bare en fejl nede i den bar i bunden af Internet Explorer hvor der normalt står udført. Her er JavaScript\'et:

<SCRIPT LANGUAGE=\"JavaScript\">


function Checkform(thisform) {
// Startværdier
strError = \'Der opstod følgende fejl:\\n\\n\';
intError = 0;

// Check et hvilket som helst felt
if (thisform.NAVN.value == \"\") {
  strError = strError + \'-Navn mangler\\n\'
  intError = 1;
  thisform.NAVN.blur();
} else {
  if ( !/^[A-ZÆØÅa-zæøå][A-ZÆØÅa-zæøå ]+$/.test(this.form.NAVN.value) ) {
    strError = strError + \'-ikke et gyldigt navn\\n\'
    intError = 1;
    thisform.NAVN.blur();
  } 
};

// Check for både bogstaver og tal i ADRESSE felt
if (thisform.ADRESSE.value == \"\")
{
  strError = strError + \'-Adresse mangler\\n\'
  intError = 1;
  thisform.ADRESSE.blur();
} else {
  if ( !/\\D+\\d/.test(thisform.ADRESSE.value) ) {
    strError = strError + \'-Adressen skal være gyldig\\n\'
    intError = 1;
    thisform.ADRESSE.blur();
  }
};


// Check et hvilket som helst felt
if (thisform.POSTNUMMER.value == \"\") {
  strError = strError + \'-Postnr mangler\\n\'
  intError = 1;
  thisform.POSTNUMMER.blur();
} else {
  if ( thisform.POSTNUMMER.value.length != 4
      || /\\D/.test(thisform.POSTNUMMER.value) ) {
    strError = strError + \'-Postnr skal være på 4 cifre \\n\'
    intError = 1;
    thisform.POSTNUMMER.blur();
  }
};



// Check et hvilket som helst felt
if (thisform.BY.value == \"\")
{
strError = strError + \'-Bynavn mangler\\n\'
intError = 1;
thisform.BY.blur();

}


// Check for @ og . i email
if ( thisform.MAIL.value == \"\") {
  strError = strError + \'-Fejl i e-mail adressen\\n\'
  intError = 1;
  thisform.MAIL.blur();
} else {
  var at = thisform.MAIL.value.indexOf(\"@\");
  if ( at > 0 && thisform.MAIL.value.substring(at).indexOf(\".\") > 0 ) {
    // email-addr er nok ok
  } else {
    strError = strError + \'-Fejl i e-mail adressen\\n\'
    intError = 1;
    thisform.MAIL.blur();
  }
};



// Check et hvilket som helst felt
if (thisform.BESKED.value == \"\")
{
strError = strError + \'-Besked mangler\\n\'
intError = 1;
thisform.BESKED.blur();

}


if (intError == 1) {
alert(strError)
return false;
}

}
</SCRIPT>
Avatar billede jespernaur Nybegynder
09. marts 2001 - 16:29 #8
Linien

  if ( !/^[A-ZÆØÅa-zæøå][A-ZÆØÅa-zæøå ]+$/.test(this.form.NAVN.value) ) {

skal rettes til

  if ( !/^[A-ZÆØÅa-zæøå][A-ZÆØÅa-zæøå ]+$/.test(thisform.NAVN.value) ) {

du havde skrevet this.form i stedet for thisform.

Sådanne fejl kan meget lettere findes, hvis du inkluderer

function report_error( msg, url, line )
{
  alert(\'report_error \' + msg + \'  url \' + url + \' line \' + line);
  return true;
}

self.onerror = report_error;

i <head> sektionen af alle dine sider. Prøv det inden du retter fejlen.

Mvh
Jesper Naur
Avatar billede swasper Nybegynder
09. marts 2001 - 16:40 #9
Der kan man bare se, det er altid sådan et eller andet der er galt, men tak for hjælpen.
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