Avatar billede ffn Nybegynder
28. september 2004 - 08:26 Der er 12 kommentarer og
1 løsning

Må ikke kunne skrive .ru adresser i et felt

Hejsa

Jeg har en reg. formular hvori man kan skrive sin www-adresse. Jeg har et problem med at bots selv tilføjer sig og alle indtaster de en www-adresse der ender på .ru

Derfor tænkte jeg på om nedenstående kodestump - eller hvis du har en anden der virker i alle browsere (eller de fleste) - kunne modificeres til at kigge i felte og se om der er indtastet en .ru adresse...`?

Håber på hjælp...

Mvh
Frold


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da" lang="da">
<head>
<title>Javascript banner rotation</title>
<script type="text/javascript">
<!-- Dette script og mange flere -->
<!-- findes hos http://www.html.dk -->
<!-- Start

function validering()
  {
  error = 0;

  placering=0;
  tekst=(document.forms[0].email.value).toLowerCase();
  placering=tekst.indexOf("@");
  if(tekst ==""){
    alert ("Der skal stå en e-post adresse i tekst feltet");
    error = 1;
  }
  else{
    tegn=tekst.indexOf(" ");
    if(tegn!=-1){
      alert ("Der må ikke være mellemrum i adressen");
      error = 1;
    }
    else{
      if (tekst.indexOf("æ")!=-1 || tekst.indexOf("ø")!=-1 || tekst.indexOf("å")!=-1 ||
        tekst.indexOf("Æ")!=-1 || tekst.indexOf("Ø")!=-1 || tekst.indexOf("Å")!=-1 ||
        tekst.indexOf(";")!=-1 || tekst.indexOf(",")!=-1){
        alert ("Der er ulovlige tegn i adressen. Må ikke indeholde: æ ø å Æ Ø Å , ;");
        error = 1;
      }
    else{
      if (placering<1 || tekst.length<=(placering+1)){
        alert ("e-post adressen er forkert - forsøg igen");
        error = 1;
      }
    }
  }
}
if(error == 0)
document.forms[0].submit();   
}

// Slut -->
</script>
</head>
<body>

<h1>Validering af e-mail adresse</h1>

<form action="" method="post" onsubmit="validering();return false;">
<input type="text" name="email">
<input type="submit" value="Klik her for at validere">
</form>

</body>
</html>
Avatar billede roenving Novice
28. september 2004 - 09:29 #1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da" lang="da">
<head>
<title>Email-validering</title>
<script type="text/javascript">

function validering(f){
  var t = "\\wáàãââæåçéèêëìíîïñòóôõöøùúûüýÿ";
  var regexp = new RegExp("^["+t+"]["+t+"\\.\\-\\+]*@["+t+"]["+t+"\\.\\-]*\\.["+t+"]{2}["+t+"\\.\\-\\/]*$","i");
  tekst=f.email.value.toLowerCase();
  if (!regexp.test(tekst)||/\.ru$/i.test(tekst)){
      alert ("Der skal stå en gyldig e-mail adresse i tekst feltet");
      f.email.focus();
      return false;
  }
  return true;
}
</script>
</head>
<body>

<h1>Validering af e-mail adresse</h1>

<form action="" method="post" onsubmit="return validering(this);">
<input type="text" name="email">
<input type="submit" value="Klik her for at validere">
</form>

</body>
</html>
Avatar billede ffn Nybegynder
29. september 2004 - 13:09 #2
NU var det meningen at det var en www-adresse som skrevet...

Så den skal ikke kigge efter @
Det skal blot kigge efter om .ru evt også .ro findes i feltet og hvis da, så skal der komme en fejlmeddelses....

Håber jeg er præcis nok?
Avatar billede roenving Novice
29. september 2004 - 14:15 #3
if(url.match(/\w+[\w\.]+\.r[ou](\/.*)?$/i)){
  alert('Ulovligt topdomæne');
  return false;
}

-- og ovenstående reagerer, hvis der som en del af urlen er en streng, som opfylder følgende:

(Del-)urlen starter med et eller flere ord-tegn (a-z, 0-9 samt _)

Der derefter kommer et eller flere ordtegn eller punktummer

Efter det enten .ru eller .ro

Til enden af hele urlen kan der så være en skråstreg efterfulgt af nul til mange tegn af en hvilkensomhelst slags ...
Avatar billede roenving Novice
29. september 2004 - 14:20 #4
Måske skal man tilføje bindestreger og andre tegn, som kan forekomme i domænenavne, her tilføjer jeg bare bindestreg, så du kan se hvor det gøres og udvide den, hvis konkrete (ret sjældne !-) tegn bruges:

if(url.match(/\w+[\w\.-]+\.r[ou](\/.*)?$/i)){

-- bemærk at en del tegn har speciel betydning i en regexp, og derfor skal escapes for at blive tolket som tegnet selv (blandt andet - hvis der er en range men ikke som det står her !-)

-- i ovenstående er punktum f.eks. escapet to gange, mens det tredje gang betyder et hvilketsomhelst tegn ...
Avatar billede ffn Nybegynder
29. september 2004 - 17:23 #5
Hejsa...

Jeg kan desværre ikke finde udaf det:

1. hvor skal if(url.match(/\w+[\w\.-]+\.r[ou](\/.*)?$/i)){ placeres?
2. hvordan kommer jeg denne linje til livs..
var regexp = new RegExp("^["+t+"]["+t+"\\.\\-\\+]*@["+t+"]["+t+"\\.\\-]*\\.["+t+"]{2}["+t+"\\.\\-\\/]*$","i");
Det er vel den der tjekker for bl.a @ men en www adresse indholder jo ikke @ ergo kommer den hele tiden med fejl...

Sorry JS er ikke lige min boldt gade...
Avatar billede ffn Nybegynder
02. oktober 2004 - 16:41 #6
Kunne du eller en anden svare på det sidste?

Ville gerne have det til at virker... :D
Avatar billede roenving Novice
02. oktober 2004 - 16:46 #7
?-)

-- den fjerner du da bare ...

Hvis det ikke er en email-adresse, du skal validere, som du viste i starten ...

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da" lang="da">
<head>
<title>url-validering</title>
<script type="text/javascript">

function validering(f){
  var url=f.url.value.toLowerCase();
  if(url.match(/\w+[\w\.]+\.r[ou](\/.*)?$/i)){
    alert ("Der er et ulovligt topdomæne i url-feltet");
    f.url.focus();
    return false;
  }
  return true;
}
</script>
</head>
<body>

<h1>Validering af e-mail adresse</h1>

<form action="" method="post" onsubmit="return validering(this);">
<input type="text" name="email">
<input type="submit" value="Klik her for at validere">
</form>

</body>
</html>
Avatar billede ffn Nybegynder
02. oktober 2004 - 16:51 #8
Undskyld jeg lyder tung i det, men det virker ikk...

IE6.0
Avatar billede roenving Novice
02. oktober 2004 - 16:54 #9
Hvordan virker ikke ?-)

Hvad er det,den ikke fanger ?o]
Avatar billede roenving Novice
02. oktober 2004 - 16:56 #10
Der skal selvfølgelig være et felt, som hedder url:

<input type="text" name="url">
Avatar billede ffn Nybegynder
02. oktober 2004 - 17:06 #11
Tark!!

Sry jeg er lidt langsom hvad js angår...

Dette er den kodestump der virker


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da" lang="da">
<head>
<title>url-validering</title>
<script type="text/javascript">

function validering(f){
var url=f.url.value.toLowerCase();
if(url.match(/\w+[\w\.]+\.r[ou](\/.*)?$/i)){
alert ("Der er et ulovligt topdomæne i url-feltet");
f.url.focus();
return false;
}
return true;
}
</script>
</head>
<body>

<h1>Validering af e-mail adresse</h1>

<form action="" method="post" onsubmit="return validering(this);">
<input type="text" name="url" size="20">
<input type="submit" value="Klik her for at validere">
</form>

</body>
</html>


Svar hvis du vil have dine fortjente points...
Avatar billede roenving Novice
02. oktober 2004 - 17:08 #12
Velbekomme '-)
Avatar billede roenving Novice
02. oktober 2004 - 17:12 #13
-- og tak for point ;~}
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